【发布时间】:2018-10-30 01:44:55
【问题描述】:
我有以下文字:
Example 1: 'lun et mer et mar'
Example 2: 'lun. et mer. - mar.'
Example 3: 'lun a ven'
Negative example 4 (must not match): 'sept à juin'
Negative example 5 (must not match): 'foo bar'
Negative example 6 (must not match): '9h30 - 18h'
我正在尝试对每个单词进行分组,所以想要的结果是:
Example 1: ['lun', 'et', 'mer', 'et', 'mar']
Example 2: ['lun', 'et', 'mer', '-', 'mar']
Example 3: ['lun', 'a', 'ven']
我尝试的正则表达式是here:
(?:((lun|mar|mer)\.?\s*(\-|au|a|à|et)?\s*)+)
但是,结果,我只得到最后一个单词“mar”,两次。
我会说我有this 的问题,但我尝试了文章建议的方法,但没有成功。
有人知道如何解决这个问题吗?
注意我需要这是一个正则表达式,因为我正在解析一个未知文本,如果完全匹配,我知道我正在处理什么样的数据。 例如,这不能匹配:
Mustn't match: 'sept à juin'
【问题讨论】:
-
你需要什么语言的?
-
@chrisz in JavaScript
-
@chrisz 你为什么要删除你的答案?我觉得很好。
-
只是觉得它的质量很差。有更好的方法来解决这个问题。
标签: javascript regex regex-group regex-greedy