RegEx:如果前缀或后缀匹配,则匹配一个单词(CLOSED)

我目前正在查看我的旧项目,并试图稍微清理一下代码。</ p>
\ n

我遇到了一个脚本,它匹配一个巨大的文本文件中的单词,如果它有一个特定的前缀(item_name )</ em>或后缀 item_name)</ em>。</ p>

匹配以下单词:</ p>


  • item_name_foo&gt; foo </ p> </ li>

  • bar_item_name&gt; 吧</ p> </ li>
    </ ul>

    看看正则表达式本身让我觉得这可以改进,因为看起来之间有冗余的 \ w + </ code> 。
    (?&lt; = item_name _)\ w + | \ w +(?= _ item_name)</ code> </ p>

    因此,我想到了这个:
    < 代码>(?&lt; = item_name _)\ w +(?= _ item_name)</ code> </ p>

    这不再匹配了。 我的旧正则表达式甚至可以改进吗?</ p>
    </ div>

展开原文

原文

I am currently looking at my old projects and trying to cleanup the code a little.

I came across a script which matches words in a huge text file if it has a specific prefix (item_name_) or suffix (_item_name).

It matches words like:

  • item_name_foo > foo

  • bar_item_name > bar

Looking at the regex itself made me think this could be improved because of the redundant \w+ between the lookarounds. (?<=item_name_)\w+|\w+(?=_item_name)

So playing around i came up with this: (?<=item_name_)\w+(?=_item_name)

This does not match anymore. Can my old regex even be improved?

dongou1970
dongou1970 好的,试试吧谢谢!
大约一年之前 回复
dpje52239
dpje52239 关于正则表达式模式:“越短越好”只是一个都市传奇。我建议的唯一改进是使用单词边界来确保您匹配的内容实际上是前缀或后缀。
大约一年之前 回复
douliangbian7323
douliangbian7323 好的哇,以为有更好的方法因为冗余。谢谢
大约一年之前 回复
doupang9080
doupang9080 原始版本是正确的方法。
大约一年之前 回复
duanmuybrtg1231
duanmuybrtg1231 您尝试的正则表达式仅匹配item_name_foo_item_name
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐