我正在寻找一个正则表达式,用于在整个输入字符串(包括开头和结尾)中分别替换“word”、“overflow”为“word”和“overflow”之类的单词。
我正在使用 PHP 和 preg_replace。并且需要在按空格分割字符串并进一步过滤之前检测这些单词。当时的任何组合都不会产生应有的结果。
提前致谢!
这个很难,因为:什么是词?什么是词的一部分?
in cr e di ble
和有什么不同it is a dog
?
要使用正则表达式,您需要设置规则,例如:
如果您不能确定这些规则中的任何一条,那么您就无法编写能够解决问题的正则表达式。将单词与字典进行比较以了解它们是否有效应该更有用。
$ string = "w o r d", "o v e r f low"
$ echo 'word w o r d' | sed '/\([^ ][^ ]\)[ ]/s::\1\n:g ' | sed '/[ ]\([^ ][^ ]\)/s::\n\1:g' | sed ':r /\([^ ]\)[ ]/s::\1: ; tr' | sed 'H; ${x;/\n/s:: :g;sc[ ]cc;p};d'