我想知道我的想法是否可以用正则表达式实现。
这里是字符串:[#hall:hall] de [#immeuble:immeuble] [#hall:est équipé] d'une installation liée aux logements qu'[#hall:[甜点]
我想匹配所有具有[#hall:xxx ]或[#immeuble:xxx ](或#else:)。现在,我已经做到了:
- 大厅
- 已完成
- 甜品报
用那个表情:[#hall:(.*?)]
我想知道是否有可能:
- 大厅
- 不可能的
- 东部
- 齐奏
- 伊尔
- 甜点
有可能有比赛信息吗?比如:
- Hall:#Hall
- immeuble:#immeuble
- 测试:#hall
- 设备:#hall
- il:#hall
- 甜点:#hall
谢谢你的帮助
编辑:我用这个正则表达式获得了一些关于hashtag部分的信息:
\[(?<trigger>.*?): (?<result>.*?)\]
3条答案
按热度按时间sirbozc51#
使用支持不确定长度的lookbehind(如.NET)的正则表达式引擎,很容易:
测试live on regex101.com。
在一行中:
在JavaScript中(在RegexBuddy的帮助下生成的代码片段:
lvjbypge2#
由于您似乎使用JavaScript,您可以使用2个捕获组,然后在处理组值之后获得所需的结果:
模式匹配:
\[
匹配[
(
捕获组1#[^\][:]+
匹配#
,后跟除[
]
:
以外的任何字符)
关闭组1:\s*
匹配:
,后跟可选的空白字符(
捕获组2[^\][]*?
)
关闭组2\s*
匹配可选空格字符]
按字面匹配Regex demo
或者你可以先在一个数组中创建所有的匹配:
liwlm1x93#
您可以使用以下内容。
输出量