[英]Regexp matching spaces in words
我正在寻找一个正则表达式,以替换整个输入字符串(包括开头和结尾)中写成“ word”,“ overf low”到“ 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'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.