首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配以下模式的Regex

问匹配以下模式的Regex
EN

Stack Overflow用户
提问于 2014-12-23 05:30:35
回答 2查看 70关注 0票数 2

我有匹配下面的模式。

代码语言:javascript
复制
RENAME_JAVASCRIPT(18), RENAME_IMAGE(7), MINIFY_JAVASCRIPT(26), (1), JAVASCRIPT_HTML5_CACHE(19), EMBED_JAVASCRIPT(1), RENAME_CSS(3), (1), IMAGE_COMPRESSION(7), RESPONSIVE_IMAGES(6), ASYNC_JAVASCRIPT(2);TextTransApplied:RENAME_JAVASCRIPT(18), RENAME_IMAGE(7), MINIFY_JAVASCRIPT(26), (1), JAVASCRIPT_HTML5_CACHE(19), EMBED_JAVASCRIPT(1), RENAME_CSS(3), (1), IMAGE_COMPRESSION(7), RESPONSIVE_IMAGES(6), ASYNC_JAVASCRIPT(2);TagTransAttempted:(8), ASYNC_JAVASCRIPT(61);TagTransFailed:ASYNC_JAVASCRIPT(42);TagTransApplied:(8), ASYNC_JAVASCRIPT(19);

我在python中有regex如下所示。

代码语言:javascript
复制
for ele in re.findall("[A-Z]+_[A-Z]+\(\d+\)",str(feed)):
    print ele

但这与JAVASCRIPT_HTML5_CACHE不匹配。

如何指定由'_‘分隔并可以包含数字的多个单词?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-23 05:33:17

你可以用下面的正则表达式。

代码语言:javascript
复制
[A-Z]+(?:_[A-Z\d]+)+\(\d+\)

+重复前一个令牌一次或多次。[A-Z\d]+匹配一个或多个大写字母或数字。

演示

代码语言:javascript
复制
>>> import re
>>> s = "RENAME_JAVASCRIPT(18), RENAME_IMAGE(7), MINIFY_JAVASCRIPT(26), (1), JAVASCRIPT_HTML5_CACHE(19), EMBED_JAVASCRIPT(1), RENAME_CSS(3), (1), IMAGE_COMPRESSION(7), RESPONSIVE_IMAGES(6), ASYNC_JAVASCRIPT(2);TextTransApplied:RENAME_JAVASCRIPT(18), RENAME_IMAGE(7), MINIFY_JAVASCRIPT(26), (1), JAVASCRIPT_HTML5_CACHE(19), EMBED_JAVASCRIPT(1), RENAME_CSS(3), (1), IMAGE_COMPRESSION(7), RESPONSIVE_IMAGES(6), ASYNC_JAVASCRIPT(2);TagTransAttempted:(8), ASYNC_JAVASCRIPT(61);TagTransFailed:ASYNC_JAVASCRIPT(42);TagTransApplied:(8), ASYNC_JAVASCRIPT(19);"
>>> for i in re.findall(r'[A-Z]+(?:_[A-Z\d]+)+\(\d+\)', s):
...     print(i)
RENAME_JAVASCRIPT(18)
RENAME_IMAGE(7)
MINIFY_JAVASCRIPT(26)
JAVASCRIPT_HTML5_CACHE(19)
EMBED_JAVASCRIPT(1)
RENAME_CSS(3)
IMAGE_COMPRESSION(7)
RESPONSIVE_IMAGES(6)
ASYNC_JAVASCRIPT(2)
RENAME_JAVASCRIPT(18)
RENAME_IMAGE(7)
MINIFY_JAVASCRIPT(26)
JAVASCRIPT_HTML5_CACHE(19)
EMBED_JAVASCRIPT(1)
RENAME_CSS(3)
IMAGE_COMPRESSION(7)
RESPONSIVE_IMAGES(6)
ASYNC_JAVASCRIPT(2)
ASYNC_JAVASCRIPT(61)
ASYNC_JAVASCRIPT(42)
ASYNC_JAVASCRIPT(19)
>>>
票数 4
EN

Stack Overflow用户

发布于 2014-12-23 09:19:44

试试这个

[A-Z]+_[A-Z]+\(\d+\)|[^,]+(?<=\s)J+[^)]+\)

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

https://stackoverflow.com/questions/27614582

复制
相关文章

相似问题

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