【发布时间】:2011-04-18 14:35:25
【问题描述】:
我正在尝试编写一个匹配标记的全部内容的正则表达式,减去任何前导或尾随空格。这是输入的简化示例:
<tag>text</tag>
我只想匹配以下内容(注意匹配前后的空格是如何被修剪的):
“文字”
我目前正在尝试在 .NET (Powershell) 中使用此正则表达式:
(?<=<tag>(\s)*).*?(?=(\s)*</tag>)
但是,这个正则表达式匹配“文本”加上标签内的前导空格,这是不受欢迎的。如何修复我的正则表达式以按预期工作?
【问题讨论】:
-
不要使用.*?在中间那里。那将消耗空格。请改用字母数字转义符。
标签: regex whitespace lookbehind lookahead removing-whitespace