我有一条短信,像这样:
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,}$
我真的有更多,但由于我被困在上面解释的选择中......我不知道该写什么^^
一个正则表达式,用于选择具有 1 个以上大写字符且没有空格的行。
您可以使用以下正则表达式:
/^'S*[A-Z]'S*[A-Z]'S*$/
这里的例子
-
^
- 表示行首的锚点 -
'S*
- 零个或多个非空格字符 -
[A-Z]
- 大写字符 -
'S*[A-Z]'S*
- 大写字符周围有零个或多个非空格字符 -
$
- 表示行尾的锚点
相应地调整标志。在演示中,我使用了全局和多行标志(但 PHP 没有g
标志)。
^'S*[A-Z]'S*[A-Z]'S*$
-
^
字符串的开头 -
'S*
零个或多个非空格字符 -
[A-Z]
大写字符 - 字符串末尾
$
PHP 中的正则表达式匹配:preg_match("/^'S*[A-Z]'S*[A-Z]'S*$/", $text)
([a-z0-9]*[A-Z][a-z0-9]*[A-Z]'w*)
这似乎基于 http://regexr.com/
基本上我使用 *,这意味着任何 ammount 都是可选的,因此它可以从 0 到任何数字正则表达式支持从 a-z 或 0-9 的字符,然后我希望至少有 1 个大写字母,然后是 0 到无限个字符从 a-z 到 0-9,另一个大写,然后是任何非空格字符。