正则表达式:匹配包含空格的模式



假设我想匹配一些单词,但使用以下规则:

  1. 字必须用空格分隔
  2. "*";字符可以代替模式中的任何字符,包括空格
  3. 模式可以出现在两个单词之间,也可以作为一个独立的单词

例如:"st "将是字符串"first ark star"中的匹配项。但不是"星星"one_answers"星星";将在"first marks *tar"中匹配因为模式仍然必须包含一个空格,但是"*"可以替换空白(" ", " ", " ", " ";")

我期望[(star) ]工作,但它也匹配不完整或无序的单词。例如,"sa "当没有匹配时给出两个匹配。我想知道如果向前看是必要的,如果匹配是可能的regex?

我不太确定我是否理解你想要做的事情。
我想这可能就是你要找的:
[a-zA-Z]+ [a-zA-Z]+|[a-zA-Z]+*[a-zA-Z]+|[a-zA-Z]**[a-zA-Z]* [a-zA-Z]+|[a-zA-Z]+ [a-zA-Z]**[a-zA-Z]*

如果不是,那么你可能应该考虑使用匹配算法而不是正则表达式。

最新更新