正则表达式 - 选择具有多个大写的行

时间:2016-01-21 17:41:41

标签: php regex

我有一个文字,例如:

1: hello people on stackoverflow, this here is my sample string
2: to show you what I want to achive. Here are some lines
3: I want to select
4: asdAsasDAqdVGevSerE312d1d14fF2Asdc
5: klhkblkljhb2k324JKgnqwwuUIH82mjkaw
6: heLloIsWhatIwantToSelectToo
7: thisLineshouldnotbeselected
8: butThislineshouldbeselectedasWell
9: and some more lines here...

现在我正在测试几个小时以获得正则表达式来选择具有超过1个大写字符且没有空格的行。

所以我想选择 4 5 6 8

我的所有尝试都匹配有2个大写的行,如 yXXy ,但我想选择包含 XyyX XyXy 的行。

这是否可以使用正则表达式?

以后需要在php中使用它们......

Smaple RegExp im on atm:

^([a-zA-Z0-9=]?(?! )){2,}$

我真的有更多但是因为我选择了上面解释的那样......我不知道该怎么写^^

3 个答案:

答案 0 :(得分:3)

  

一个正则表达式,用于选择具有多于一个大写字符且没有空格的行。

您可以使用以下正则表达式:

/^\S*[A-Z]\S*[A-Z]\S*$/

Example Here

  • ^ - 表示行开头的锚点
  • \S* - 零个或多个非空格字符
  • [A-Z] - 大写字符
  • \S*[A-Z]\S* - 大写字符周围的零个或多个非空格字符
  • $ - 表示行尾的锚点

相应地调整标志。在演示中,我使用全局和多行标志(但PHP没有g标志)。

答案 1 :(得分:1)

callback
  • ^\S*[A-Z]\S*[A-Z]\S*$ 字符串开头
  • ^零个或多个非空格字符
  • \S*大写字符
  • [A-Z]字符串结尾

PHP中的正则表达式匹配:$

答案 2 :(得分:1)

ng-model

这似乎基于http://regexr.com/

基本上我使用*,这意味着可以使用任何ammount,所以它可以从0到任意数字的正则表达式支持z或0-9的字符,然后我期望至少1个大写,然后再次0到无限字符从az到0-9,另一个大写,然后是任何非空白字符。