我一直在尝试使用正则表达式提取数据时遇到问题,而我的结果不是我想要的,因为字符串中可能有一些换行符、空格、html 标记等,但无论如何可以实际查看字符串中的内容,调试器似乎只显示真实的文本。你如何处理这个问题?
问问题
511 次
2 回答
0
我所做的是使用正则表达式测试器(使用与您使用的相同的正则表达式引擎)并在其上测试我的模式。我试过使用显示不可见字符的文本编辑器,但对我来说,它们只会增加混乱。
所以我只是通过反复试验。例如,如果一行结束于:
</a>
然后我将在正则表达式测试器上尝试以下模式,直到找到一个有效的模式:
</a>.
</a>..
</a>\s
</a>\s*
</a>\n
</a>\r
</a>\r\n
等等。
于 2010-02-17T15:31:40.013 回答
0
如果字符串的内容是 HTML,那么调试器会让您选择查看“HTML”或“Source”。Source 应该向您显示那里的任何 HTML 标记。
但是,如果您关心的是空白,这可能还不够。您唯一的选择是在原始页面上“查看源代码”。
最好的做法是在您的正则表达式中明确处理这些可能性。例如,如果您认为目标字符串中可能出现空白,请\s*
在关键位置使用该模式。这将匹配零个或多个空格、制表符和新行(您还必须在正则表达式面板中选中“s”选项以获取新行)。
但是,如果没有源文本的具体示例和您正在使用的正则表达式 - 建议只能是通用的。
于 2010-02-18T06:42:57.390 回答