【发布时间】:2012-03-15 13:57:58
【问题描述】:
谁能帮我解决这个正则表达式,因为我不知道如何实现它。
我需要一个正则表达式来从字符串中删除所有单词,这些单词至少包含一个不是 UTF-8 字母或数字的字符,或者单词中间的标点符号(但不是结尾)。
例子:
This is ®Aix string
A bad str?ng is here
第一个示例包含®,它不是字母、数字或标点符号。
第二个示例在中间包含标点符号。
我需要删除这些坏词,但保持字符串的其余部分完好无损。例如。 This is string, A bad is here.
请注意A bad string? is here 不会包含任何不好的词,因为标点符号在词尾。
提前感谢您的帮助。
【问题讨论】:
-
除了英语还有其他语言吗?因为
UTF-8 letter or number需要php.net/manual/en/regexp.reference.unicode.php 可能并非所有地方都支持。 -
可以包含重音字符,拉丁字母表中的任何字符,包括重音符号。但可以排除东方、俄罗斯、希腊等字符。