Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何使用正则表达式删除垃圾字符?_Regex - Fatal编程技术网

Regex 如何使用正则表达式删除垃圾字符?

Regex 如何使用正则表达式删除垃圾字符?,regex,Regex,我有一个web应用程序,它读取网页内容并使用NLP算法解析句子。我一直在使用正则表达式将内容拆分成单个句子,然后对它们进行解析 我想从我的句子中删除像这样的字符。我想,这些字符是因为HTML编码 很明显,我不能使用像[^\w\d]+这样的正则表达式或它的变体,因为我需要完整的标点符号。当然,我可以为每个标点符号添加单独的异常,比如[^\w\d\,:]+等等,但是如果有更简单的方法,我希望这样做,比如可能一个字符类知道它是一个。。。有趣的角色 任何帮助都将不胜感激。谢谢 编辑:该应用程序是用PHP

我有一个web应用程序,它读取网页内容并使用NLP算法解析句子。我一直在使用正则表达式将内容拆分成单个句子,然后对它们进行解析

我想从我的句子中删除像
这样的字符。我想,这些字符是因为HTML编码

很明显,我不能使用像
[^\w\d]+
这样的正则表达式或它的变体,因为我需要完整的标点符号。当然,我可以为每个标点符号添加单独的异常,比如
[^\w\d\,:]+
等等,但是如果有更简单的方法,我希望这样做,比如可能一个字符类知道它是一个。。。有趣的角色

任何帮助都将不胜感激。谢谢


编辑:该应用程序是用PHP构建的,我正在使用一个简单的
文件\u get_contents()
从站点获取HTML数据,并读取
标记中的内容。

这在@TheGreatCO的评论中提到过,但您可以创建一个包含“特殊”字符的字符类。可以使用十六进制代码值在字符类中创建范围。所以对于ASCII 127上的任何特殊字符都是这样

[\x80-\xFE]
除了你最基本的角色之外,那将匹配任何东西。为了便于参考


我发现这个regexpr有助于使用atom识别文件中的垃圾字符


[^(\x20-\x7F\p{Sc})]

这是一个perl脚本,您处理页面吗?哪个正则表达式?语言是有用的。找出页面的编码并正确处理它不是更有意义吗?@TimPietzcker,但你的方式不使用正则表达式!这太简单了!您可以始终循环浏览内容并删除ASCII代码高于127的任何内容。低效和野蛮的武力。