问题标签 [regex-group]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
805 浏览

regex - 如何判断 Perl 正则表达式模式中匹配的替代项?

我有一个正则表达式列表(大约 10 - 15),我需要匹配一些文本。在一个循环中一一匹配它们太慢了。但是,我没有编写自己的状态机来一次匹配所有的正则表达式,而是尝试|单独的正则表达式并让 perl 完成工作。问题是我怎么知道哪些选择匹配?

这个问题解决了每个单独的正则表达式中没有捕获组的情况。(哪个部分与正则表达式匹配?)如果每个正则表达式中都有捕获组怎么办?

所以有了以下内容,

和字符串“A123”,我怎么知道 A123 匹配并提取“123”?

0 投票
2 回答
227 浏览

regex - 重写 Perl 正则表达式

我正在尝试在没有 or 运算符的情况下重写此代码。

0 投票
1 回答
182 浏览

ruby - 如何使用 Ruby 的“扫描”方法使捕获组可选?

我有一个像这样的正则表达式:

我想用它处理这样的字符串:

{"Affinity":20,"DisplayName":"Moe Larry","Emails":[{"Address":"moelarry@gmail.com","Primary":true,"Type":{"Id":" HOME"}}],"FullName":{"FamilyName":"Larry","GivenName":"Moe","Unstructured":"Moe Larry"},"Groups":[{"id":"^Mine "}],"Id":"1234567890","MailsS​​ent":0,"Name":"Moe Larry","Phones":[{"Number":"555-999-6661","Type":{ "Id":"MOBILE"}}],"ProfileLink":""},{"Affinity":20,"DisplayName":"stoogesarefunny","Emails":[{"Address":"stoogesarefunny","Primary “:真的}],"EvergreenPhoto":"/photos/private/adflk;jsd394u75430o8752380974321jtkasdljf8937489213749832654","Id":"834754hthbf83744823f","MailsS​​ent":0},{"Affinity":20,"DisplayName":"stoogesaref.电子邮件":[{"地址":"stoogesarefunny@gmail.com","Primary":true}],"EvergreenPhoto":"/photos/private/asdfAJDKLJSFIOEJHLTHSJKLDF234987s897KJHSDFKJHDF89273473ASLKJDLSKJIFEIH","Id":"834754hthbf83744823f""Mails:" 0,"个人资料链接":"stoogesarefunny@gmail.com","Emails":[{"地址":"stoogesarefunny@gmail.com","Primary":true}],"EvergreenPhoto":"/photos/private/asdfAJDKLJSFIOEJHLTHSJKLDF234987s897KJHSDFKJHDF89273473ASLKJDLSKJIFEIH","Id": "834754hthbf83744823f","MailsS​​ent":0,"ProfileLink":"stoogesarefunny@gmail.com","Emails":[{"地址":"stoogesarefunny@gmail.com","Primary":true}],"EvergreenPhoto":"/photos/private/asdfAJDKLJSFIOEJHLTHSJKLDF234987s897KJHSDFKJHDF89273473ASLKJDLSKJIFEIH","Id": "834754hthbf83744823f","MailsS​​ent":0,"ProfileLink":"https://profiles.google.com/stoogesarefunny "},{"Affinity":20,"DisplayName":"Shemp","FullName":{"GivenName":"Shemp","Unstructured":"Shemp"} ,"Groups":[{"id":"^Mine"}],"Id":"1234567890","MailsS​​ent":0,"Name":"Shemp","Phones":[{"Number": "+15553085671","Type":{"Id":"OTHER"}}]},{"Affinity":20,"DisplayName":"ClownFace","FullName":{"GivenName":"ClownFace", "非结构化":"ClownFace"},"Groups":[{"id":"^Mine"}],"Id":"1234567890","MailsS​​ent":0,"Name":"ClownFace","电话":[{"Number":"+15556064040","Type":{"Id":"OTHER"}}]},

这真的很难看,我知道。我希望我能找到一个 xml 提要,但现在这不是一个选项。

我只关心 DisplayName、Groups 和 Phones。我需要将它们提取并保存在数组数组中。组和电话的捕获组需要是可选的,因为并非所有联系人都有它们。但是,我的正则表达式给了我:

显然,Shemp 的所有联系数据都被包含在 stoogesarefunny@gmail.com 的数据中,因为我的正则表达式会继续删除,直到到达 Shemps Group,而不是在他的显示名称之前停止并重新开始。帮助?

PS:不,我不打算拯救所有这些团体,最终只是为了研究发生了什么。

0 投票
2 回答
316 浏览

c# - 正则表达式匹配不包含空格

我有这个正则表达式:

这很好用,除非框名称包含空格。例如,在它上面执行它时my box返回mybox,没有空格。

我怎样才能让它在box_name组中包含空间?

代码:

输入:

{"objects":[{"object_id":"135248","file_name":"some space here.jpg","video_status":"0","thumbnail_status":"1"},{"object_id":" 135257","file_name":"jup 13.jpg","video_status":"0","thumbnail_status":"1"},{"object_id":"135260","file_name":"my pic.jpg" ,"video_status":"0","thumbnail_status":"1"},{"object_id":"135262","file_name":"EveningWav)es,Hon(olulu,Hawaii.jpg","video_status":" 0","thumbnail_status":"1"},{"object_id":"135280","file_name":"test with spaces.jpg","video_status":"0","thumbnail_status":"1"}],"status":"ok"}

0 投票
1 回答
1550 浏览

regex - VB.NET 正则表达式匹配 5 和 10 字符邮政编码在 1 组

我正在使用此代码

哪个符合我的邮政编码

2组

我需要它在 1 个单组中匹配 12345(5 char zip)和 12345-1234(10 char zip)。那可能吗?

编辑:

(感谢 vcsjones)满足原始问题。

但是,如果 Zip 格式错误(例如 12345-123),它不会仅检索 12345

有没有办法做到这一点?

0 投票
2 回答
1403 浏览

regex - 如何编写捕获无限数量组的正则表达式?

我有一个包含多个单词的字符串,例如str1, str2, str3, ... strN. 字数可以是任意的,并且在编写正则表达式时是未知的。

是否可以编写匹配整个字符串和捕获组的正则表达式,每组一个单词?即以下组将被捕获:

第 1 组:str1
...
第 N 组:strN

原因:该字符串是较大字符串的一部分。可以使用正则表达式捕获大字符串的其他元素。我可以使用正则表达式解析大字符串并将具有多个单词的字符串捕获到一组。然后我可以将此组拆分为其他str(s). 我认为如果存在的话,带有正则表达式的整个大字符串没有拆分的解决方案会更加优雅。

0 投票
1 回答
261 浏览

python - Python,正则表达式搜索matchobj触发错误

我不知何故知道这个问题的答案是显而易见的,但我花了几天时间试图找出为什么我似乎无法找到 reg.exp。mach 对象在下面的脚本中。这是我收到的错误消息:

以下是代码:

以下(由另一个函数生成的文本[此处未显示])是我在运行上面的 python 代码时在 Windows 剪贴板中的文本:

我花了几天时间试图找出我做错了什么。我想将正则表达式组 3 和 4 捕获到字符串变量中,例如

但是由于我无法让 matchObj 返回为 True,所以我无法到达那里。

0 投票
2 回答
209 浏览

python - 正则表达式组匹配

我正在尝试搜索由空格分隔的二进制数字序列,如下所示:

所以,我创建了正则表达式:

但以下搜索仅返回一位数字:

怎么了?

0 投票
2 回答
1235 浏览

javascript - Javascript 正则表达式子组

首先,不要链接到“不要使用正则表达式解析 HTML ”帖子 :)

我有以下 HTML,用于显示各种货币、含税和不含税的价格:

AJAX 调用返回一个 HTML 字符串,其中包含上述 HTML 的多个副本,价格各不相同。我试图与正则表达式匹配的是:

  • 上述 HTML 的每个块(如前所述,它在返回字符串中出现多次)
  • name最外层的属性值span

我到目前为止是这样的:

对于发生的每个价格突破,它匹配第一个价格突破一次(所以如果有name=1,name=5并且name=15它匹配name=13 次。

我哪里错了?

0 投票
2 回答
544 浏览

python - python re.match 组:\number 之后的数字

在 Python 匹配模式中,我如何1在反向引用之后匹配文字数字\1

为此,我尝试了\g<1>替换模式中可用的语法,但它在我的匹配模式中不起作用。

我有一个更大的问题,我想使用一个函数来解决以下一些不寻常的任务。任务是动态构建模式,以便每个模式将匹配在某些位置具有重复数字和在剩余位置具有特定数字的数字序列。