首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex用于匹配标记内容,同时省略前导和尾随空格

Regex用于匹配标记内容,同时省略前导和尾随空格
EN

Stack Overflow用户
提问于 2010-09-29 01:42:42
回答 4查看 1.2K关注 0票数 0

我正在尝试编写一个正则表达式,该正则表达式与标记的全部内容相匹配,减去任何前导或尾随空格。下面是一个简化的输入示例:

<tag> text </tag>

我只希望匹配以下内容(请注意比赛前后的空格是如何被裁剪的):

“文本”

我目前正尝试在.NET (Powershell)中使用这个正则表达式:

代码语言:javascript
复制
(?<=<tag>(\s)*).*?(?=(\s)*</tag>)

但是,这个regex匹配"text“加上标记中的前导空格,这是不需要的。我如何才能使我的正则表达式按预期工作?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-29 04:43:40

放下围观,他们只会使工作变得比需要的更复杂。相反,使用一个捕获组来选择您想要的部分:

代码语言:javascript
复制
<tag>\s*(.*?)\s*</tag>

您想要的部分以$matches[1]的形式提供。

票数 1
EN

Stack Overflow用户

发布于 2010-09-29 01:46:24

You should not use regext to parse html

使用解析器代替。

还有:Regex to remove body tag attributes (C#)

还包括:RegEx match open tags except XHTML self-contained tags

如果所有这些都不能让你信服,那就不要在表达的中间使用点。使用字母数字转义。你的点正在消耗空白。用\w (我想)代替。

票数 4
EN

Stack Overflow用户

发布于 2010-09-29 01:50:13

使用这些正则表达式来剥离尾随和前导空格。/^\s+//\s+$/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3818219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档