日期:2014-05-18  浏览次数:20897 次

没完没了地正则,求一些正则表达式

Wo kao Ni Tai N Tai Niu Bi la Biao Er huo?

其一正则表达式,将上面这两类单词取出:

1)仅以大写开头

2)全部大写

输出结果为

Wo
Ni
Tai
N
Tai
Niu
Bi 
Biao 
Er


普通方法我会,这个问题是为了学习正则才问的,所以只要正则答案,带讲解示例最好

多谢




------解决方案--------------------
^[A-Z]\w+
------解决方案--------------------
^[A-Z]\w*
------解决方案--------------------
这样就足够了
C# code

Regex reg=new Regex("^[A-Z][a-zA-Z]*");

------解决方案--------------------
探讨
这样就足够了

C# code


Regex reg=new Regex("^[A-Z][a-zA-Z]*");

------解决方案--------------------
1)仅以大写开头Regex reg=new Regex("[A-Z][a-zA-Z]+");


2)全部大写 Regex reg=new Regex("[A-Z]+");





------解决方案--------------------
引用[A-Z]\w*

------解决方案--------------------
\b[A-Z]([A-Z]*|[a-z]*)\b
取得的单词都是英文字母,不含数字,第一个字符是大写且
1.之后全部是大写
2.之后全部是小写

其实LZ示例不太好的感觉
------解决方案--------------------

若单词只含字母则用这个
C# code
Regex reg=new Regex("^[A-Z][a-zA-Z]*");

------解决方案--------------------
探讨
引用:
这样就足够了

C# code


Regex reg=new Regex("^[A-Z][a-zA-Z]*");


这个只是将大写开头的取出来

------解决方案--------------------
C# code
string pattern = @"\b[A-Z]([a-z]*(?=\s|$)|[A-Z]*(?=\s|$))";

------解决方案--------------------
[A-Z]+|([A-Z]\w*)
------解决方案--------------------
探讨

引用:

\b[A-Z]([A-Z]*|[a-z]*)\b
取得的单词都是英文字母,不含数字,第一个字符是大写且
1.之后全部是大写
2.之后全部是小写

其实LZ示例不太好的感觉


对看了一下,我的示例是不太好

只要

Aaaa AAAA

不要

aaaa AaAa

------解决方案--------------------
推荐你一本正则表达式的经典 《精通正则表达式》