我有一个处理许多空格分隔字符串的操作,我正在寻找一个字符串匹配函数的正则表达式,如果前两个字符串在第一个空格以大写字母开头之前将触发传递,如果不是,则返回false.
例子:
"AL_RIT_121 PA_YT_32 rit cell 22 pulse"
Run Code Online (Sandbox Code Playgroud)
将返回true,因为前两个字符串AL_RIT_121,并PA_YT_32用大写字母开头A,并P分别
"AL_RIT_252 pa_YT_21 mal cell reg 32 1 ri"
Run Code Online (Sandbox Code Playgroud)
将以p小写形式返回false .
String to be matched = "AAA/up to eight upper case letters/AAA" :
ex1 : AAA/BB/AAA
ex2 : AAA//AAA
ex3: AAA/BBCCDDEEFF/AAA
如何在中间匹配字符串为0到8个大写字母(即正斜杠之间)?
我试过了 regex : AAA/(?!(.*[a-z].*)[A-Z]{0,8})/AAA
但它与上述任何字符串都不匹配.
(正则表达式AAA/[A-Z]{0,8}/AAA匹配上面的字符串,但它也匹配小写字母.
ex: AAA/bb/AAA)
我想匹配两个"@@@"字符之间的数据
@@@haha@@@hoho@@@hehe@@@hihi@@@
Run Code Online (Sandbox Code Playgroud)
正则表达式:
@@@(.*?)@@@
Run Code Online (Sandbox Code Playgroud)
通过使用此正则表达式,我只能够得到haha和hehe,这是第一和第三场比赛.如何匹配中间的所有4个数据@@@?
我正在使用 python3 re 模块 - 我发现a*a匹配aaa. 我认为正则表达式默认是贪婪的(除非我们用 覆盖它来懒惰?) - 因此,a*将匹配整个字符串,并且a模式中的尾随将失败。然而,它匹配:
$ import re
$ re.match(r'a*a', 'aaa')
<_sre.SRE_Match object; span=(0, 3), match='aaa'>
Run Code Online (Sandbox Code Playgroud)
这不应该失败吗?