我正在尝试编写一个RegEx表达式来查找以下内容:
空格字符前面带有az或AZ或0-9或者)后跟两个字符,这些字符属于以下类别az或AZ或0-9或 - 或(;即 char1-space-char2-char3 < /强>
char1 = [0-9 a-z A-Z )]
char2 = [0-9 a-z A-Z - ]
char3 = [0-9 a-z A-Z (]
例如:
cos(x)+ sin(x){S} -0.3 * cos(x){S} k * sin(x) - z0 {S} ke-1 {S} -ke-3
其中{S}是我想要捕捉的空格
我是RegEx的新手,从我在网上找到的东西,我需要使用前瞻和后面看,但我不知道如何确保如何捕捉 char-space-char-char 小组。
到目前为止,我有这个,但它根本不起作用
[\w\d\)]([ ]{1})[\w\d-]
我希望这是有道理的。
答案 0 :(得分:0)
如果你想使用环绕断言,那将处理你需要的重叠。
只需使用相同的结构,但在空间之前/之后用环顾四周包裹
句法。
(?i)(?<=[\da-z)])[ ](?=[\da-z-][\da-z(])
扩展:
(?i) # Case insensitive
(?<= [\da-z)] ) # Lookbehind, alnum or ')'
[ ] # Consume space
(?= [\da-z-] [\da-z(] ) # Lookahead, alnum or '-' followed by alnum or '('