我正在尝试用Karcher HDS-C 7/11, 9/15, 8/15-E
替换此类字符串:HDS-C 7/11, 9/15, 8/15-E
。
我将这种模式/[^A-Z0-9\s\.\,\-\/\(\)]/
用于preg_replace
。
我没有获得HDS-C 7/11, 9/15, 8/15-E
,而是获得带有K HDS-C 7/11, 9/15, 8/15-E
的{{1}}。
所以我的规则:只留下大写字母(1+个字母),0-9,特殊字符;排除包含小写的单词(2+个字母)(第一个字母可以是大写)。
更多示例(input => output):
K
=> Karcher B 140 R Bp
B 140 R Bp
=> Yard-Man YM 84 M-W 31AY97KV643
如何调整模式以使其正常工作?
我还需要以小写形式过滤1个前导单词(可能是大写的第一个字母)。
例如:
YM 84 M-W 31AY97KV643
=> Karcher Karcher B 140 R Bp
B 140 R Bp
=> Karcher Karcher Karcher B 140 R Bp
答案 0 :(得分:1)
如何在开头定位单词,而不是尝试排除其他所有内容?
例如:'/^(?:[A-Z][a-z-]+[A-Za-z-]* ?)+/'
答案 1 :(得分:0)
也许在第一个空格后尝试匹配所有内容?
/.*? (.*)/