我最近一直在使用某些功能,并且我有一个可以在某些情况下使用的功能,我需要一个通用的功能。我需要一个正则表达式,以便它可以准确地找到我要查找的内容,而不仅仅是它的痕迹。我有这个
>(regexp-replace* #rx"^123456$" "123456 FUBAR" "MATCH!")
"123456 FUBAR"
如您所见,它不是用“ MATCH!”代替“ 123456”
我尝试使用此:
> (regexp-replace* #rx"(?:^| )123456(?:$| )" "123456XXXXX FUBAR" "MATCH!")
"123456XXXXX FUBAR"
正是我不需要的。
我曾浏览过其他一些文章,但我认为jScript和php中的正则表达式的工作有所不同,因为它们使用“ /”。
编辑:嗯。^a
例如,以下#rx:的使用不适用于类似的字符串(a 0 (a b))
。
> (regexp-replace* "^(a)" "(a 0 (a b)) FUBAR" "MATCH!")
"(a 0 (a b)) FUBAR"
我最需要它以这种方式工作。:P
使用单词边界(\b
,应使用pregexp语法):
> (regexp-replace* #px"\\b123456\\b" "123456 FUBAR" "MATCH!")
"MATCH! FUBAR"
> (regexp-replace* #px"\\b123456\\b" "123456XXXXX FUBAR" "MATCH!")
"123456XXXXX FUBAR"
> (regexp-replace* #px"\\ba\\b" "(a 0 b) FUBAR" "MATCH!")
"(MATCH! 0 b) FUBAR"
> (regexp-replace* #px"a" "(a 0 (a b)) FUBAR" "MATCH!")
"(MATCH! 0 (MATCH! b)) FUBAR"
请参阅正则表达式语法
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句