【问题标题】:Need help crafting regex string需要帮助制作正则表达式字符串
【发布时间】:2011-11-30 18:57:06
【问题描述】:

我有一个文本块,将用类似格式的标签填充:

"<$gmngnfj.gif$>"

我想捕获文本块中以&lt;$ 开头并以$&gt; 结尾的所有内容

我尝试从^&lt;$ 开始,但我知道美元符号在正则表达式中有一个有意义的用途,所以我被卡住了。有人可以帮忙吗?

【问题讨论】:

  • 您是否需要编辑您的问题,或者您是否尝试匹配以 . (句号)?

标签: regex


【解决方案1】:

好吧,我会说寻找像&lt;\$(.*)\$&gt; 这样的东西,或者避免正则表达式过于贪婪: .. 结果(匹配文本)将是在“\1”中可用。

干杯

【讨论】:

  • 这很完美,我只需要将 也包含在匹配项中。
  • 然后使用 () 就可以了。
【解决方案2】:

由于您没有指定编程语言,因此我仅以 python 为例:

>>> import re
>>> re.search('<\$(.*?)\$>', 'Hello <$World$>').group(1)
'World'

这是一个不错的在线正则表达式测试工具中的另一个示例(在 ruby​​ 中):

【讨论】:

  • 我认为最好使用.*?例如,为了避免捕获 kjhkjh$>。编辑后+1 :)
猜你喜欢
  • 1970-01-01
  • 2012-11-30
  • 2023-03-19
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多