gpt4 book ai didi

java - 查找严格并丢失正则表达式模式

转载 作者:行者123 更新时间:2023-12-01 15:26:17 24 4
gpt4 key购买 nike

我有

^\s*(\w+(\,\w+)*\s*(:|,|\()(\(|\[)?\s*)

这对于从这样的两组字符串中提取“命令”非常有效

**Strict pattern**
command:some text
command: some text
command,command2: some text

**Loose pattern**
command :some text
command( some text )
command, some txt

这里是更清楚地说明我的问题的链接。 http://rubular.com/r/epTIiU32Dj

您能为严格模式和丢失模式编写两个单独的正则表达式吗?

因此,使用一个正则表达式,我只会得到严格模式命令,而使用其他正则表达式,我只会得到丢失模式命令。

每当我尝试某件事时,我最终都会超越彼此的模式。我无法为每个模式获得有效的正则表达式。

最佳答案

首先,您可以通过使用字符类而不是组和交替来稍微缩短正则表达式( http://www.rubular.com/r/pI7dk7qzxS ):

^\s*(\w+(,\w+)*\s*[:,(\[]\s*)


这是严格的模式( http://www.rubular.com/r/xRIQuAR6TM ):

^\s*(\w+(,\w+)*:\s*)


这是宽松的模式( http://www.rubular.com/r/9ztWBYsj1a ):

^\s*(\w+(,\w+)*(\s+:|\s*[,(\[]\s+)\s*)

请注意,这些适用于您提供的示例数据(正如您在 Rubular 链接中看到的那样),但仅从示例数据和您的正则表达式很难判断这是否涵盖所有潜在情况(如果有)您需要更彻底地解释语法问题。

关于java - 查找严格并丢失正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10092522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com