Regex 正则表达式重叠
我想捕获所有出现的字母,后跟一个数字,但在上面的字母之前没有字母。 因此,在Regex 正则表达式重叠,regex,Regex,我想捕获所有出现的字母,后跟一个数字,但在上面的字母之前没有字母。 因此,在f9、3f9、f99中有一个f9匹配,但在af9中没有。 我有以下正则表达式:([^a-z]|^)([a-z])(\d) 为什么它不能同时匹配f9x0中的f9和x0,以及如何实现这一点?它只匹配f9。 在f9 x0中有两个匹配项 谢谢。x前面没有字符,但您需要一个。您正在寻找一个回头客: (?:^|(?<![a-z]))[a-z]\d (?:^|)(?)? 请参阅a。在x之前没有字符,但您需要一个字符。您正在查找
f9
、3f9
、f99
中有一个f9
匹配,但在af9
中没有。
我有以下正则表达式:([^a-z]|^)([a-z])(\d)
为什么它不能同时匹配f9x0
中的f9
和x0
,以及如何实现这一点?它只匹配f9
。
在f9 x0
中有两个匹配项
谢谢。x前面没有字符,但您需要一个。您正在寻找一个回头客:
(?:^|(?<![a-z]))[a-z]\d
(?:^|)(?)?
请参阅a。在x
之前没有字符,但您需要一个字符。您正在查找查找:
(?:^|(?<![a-z]))[a-z]\d
(?:^|)(?)?
按照您的要求查看a.:
捕获所有出现的符号,后跟一个数字,但在上述符号之前没有符号
正如您所要求的:
捕获所有出现的符号,后跟一个数字,但在上述符号之前没有符号
在regex101.com等网站上输入正则表达式,查看正则表达式的含义。在x
之前没有字符,但您需要一个字符。您正在寻找一个neg.lookbehind。这是否回答了您的问题?所有出现的符号
…f
不是符号,而是单词字符。输入您将正则表达式导入regex101.com等网站,看看你的正则表达式是什么意思。在x
之前没有字符,但你需要一个。你正在寻找一个neg.lookbehind。这是否回答了你的问题?所有出现的符号
…f
不是一个符号,而是一个单词字符。有9
b在x
之前,它不是要求的字母。阅读问题,我认为这应该可以,对吗?如果我没有弄错,您可以将其缩短为(?在x
之前有9
,它不是要求的字母。阅读此问题,我认为这应该是正确的?如果我没有弄错,您可以将其缩短为(?为什么我的正则表达式不工作?@andrewCount首先您的正则表达式有太多匹配组,导致结果非常奇怪:-其次是选项^
([^a-z]|^)中的(字符串开头)已匹配并使用了第一个匹配项f9
-并且不会继续进行x0
。第一个捕获是f9
(以字符串开头)。第二个匹配应该是9x0
。它不起作用,因为9
已被捕获,对吗?@andrewcount是。相比之下,如果您使用非消耗性正向查找(?为什么我的正则表达式不起作用?@andrewCount首先,您的正则表达式有太多匹配组,导致结果非常奇怪:-其次([^a-z]|^)中的选项^
(字符串开头)已经匹配并使用了第一个匹配项f9
,并且不会继续进行x0
。第一个捕获是f9
(以字符串开头)。第二个匹配应该是9x0
。它不起作用,因为已经捕获了9
,对吗?@andrewCount是。相比之下,如果使用非消耗性的正向查找(?)?
f9 >> f9
f9x0 >> f9, x0
af9
3f9 >> f9