Javascript 正则表达式匹配帮助:won';在每个外观上都不匹配
我需要编写一个小的正则表达式匹配器,它将以Javascript 正则表达式匹配帮助:won';在每个外观上都不匹配,javascript,regex,regex-lookarounds,Javascript,Regex,Regex Lookarounds,我需要编写一个小的正则表达式匹配器,它将以 [a-zA-Z]+([a-zA-Z0-9]+)? 如果我使用上面的正则表达式,它确实匹配所需的部分,但也会匹配到4_abc的abc部分,这是不需要的。我试图用以下方法排除它: (?:[^a-zA-Z0-9|]|^)([a-zA-Z]+([a-zA-Z0-9]+)(?:[^a-zA-Z0-9|]|$) 问题是开始和结束时的“不”比赛并不像我希望的那样有效。如果我在示例中使用它们 a_d Dd_da 4_d d_4 他们会阻止匹配第二个Dd_da,因为第一
[a-zA-Z]+([a-zA-Z0-9]+)?
如果我使用上面的正则表达式,它确实匹配所需的部分,但也会匹配到4_abc
的abc
部分,这是不需要的。我试图用以下方法排除它:
(?:[^a-zA-Z0-9|]|^)([a-zA-Z]+([a-zA-Z0-9]+)(?:[^a-zA-Z0-9|]|$)
问题是开始和结束时的“不”比赛并不像我希望的那样有效。如果我在示例中使用它们
a_d Dd_da 4_d d_4
他们会阻止匹配第二个Dd_da,因为第一个匹配中使用了空格。遗憾的是,我不能使用lookarounds,因为我使用的是JS
因此,输入:
a_d Dd_da 4_d d_4
应匹配:a\u d
、Dd\u da
和d\u 4
但是匹配:a\u d
(末尾有一个空格)
是否有其他方法来匹配所需的部分,或者不使用“锚”匹配
非常感谢您的帮助。您可以利用
\b
:
\b
匹配(零宽度)点,其中前一个字符或后一个字符是字母、数字或下划线,但不是两者都是。如果第一个/最后一个字符是字母、数字或下划线,则它还与字符串的开头/结尾匹配 您可以使用\b
:
\b
匹配(零宽度)点,其中前一个字符或后一个字符是字母、数字或下划线,但不是两者都是。如果第一个/最后一个字符是字母、数字或下划线,则它还与字符串的开头/结尾匹配 那\b
呢@特林科特成功了!!我以前忽略了这一点,因为我认为∧代码>∨代码>可能被算作“单词的一部分”,但这解决了问题!你能把这个作为答案转寄吗?那\b
呢@特林科特成功了!!我以前忽略了这一点,因为我认为∧代码>∨代码>可能被算作“单词的一部分”,但这解决了问题!你能把这个作为答复转寄吗?