正则表达式尝试|匹配表情符号和图案

时间:2019-01-24 13:19:54

标签: javascript regex

所以一段时间以来,我一直在尝试匹配this类型的模式。我正在使用RegExr来测试我的东西,最终得到了这个:

(\[★+\] [A-Za-z0-9]\s?-?[A-Za-z0-9] ?\w+?\s?[A-Za-z0-9]\s?\w+ ?\[?[A-Za-z0-9]\w+\]?[A-Za-z0-9]\s?\w+ ?\[?[A-Za-z0-9]-?\w+\])

正如here所见,这几乎不能匹配所有内容。我对RegEx还是很陌生,但我发现这里的专家可以为我提供帮助。

正则表达式需要匹配每个分开的条目。试图建立数据库。

2 个答案:

答案 0 :(得分:0)

尝试以下方法:\[(★||)+\](\s[❤\w-]+\s?)+\[[\w-]+\]

\[(★||)+\]将[★] [] []与尽可能多的星星/树/蛋糕匹配

(\s[❤\w-]+\s?)+匹配一个空格字符,后跟❤或A-Za-z0-9_或--后跟一个潜在的空格(0或1),并尽可能多地匹配

\[[\w-]+\]匹配[,后跟尽可能多的A-Za-z0-9_或-后跟]

Demo

答案 1 :(得分:0)

由于我不了解规则,因此很难为您提供整洁的正则表达式;例如:

  • 您是否只需要选择星星或表情符号“蛋糕部分”,“树”以及其他内容?
  • []之间行总是以ascii文本结尾吗?

我可以给你一个“大”的正则表达式,但是可能会有副作用,更多的细节我们可以制作更好的正则表达式

^\[(.+)\] (.*?) \[([\w\-]+)\]$

https://regex101.com/r/eU7vis/1

^\[(.+)\]获取并确保第一部分(图释简单或多个或[]之间的任何字符)。如果您有限制,我们可以限制授权字符。

(.*?)获取与我们不匹配下一部分的最少字符(任何字符)

\[[\w\-]+\]$获取并确保字符串以[]之间的文本结尾。这部分的授权字符为字母(上下),数字,下划线和连字符。