正则表达式匹配非间隔短语与间隔短语

时间:2012-01-21 17:39:55

标签: regex

一些例子:

  • “ilikestackoverflow”将匹配“我喜欢stackoverflow”
  • “thisisanotherexample”将匹配“这是另一个例子”

我意识到我可以移除右手上的空格以匹配左手,但是我可以通过从左到右来节省大量空间和处理时间。

2 个答案:

答案 0 :(得分:2)

var spaced = 'i like stack over flow';
var nonSpaced = 'ilikestackoverflow';

console.log(spaced.split(' ').join('') == nonSpaced); // true

如果要替换基本内容,请使用split(' ').join('')。在这种情况下,不需要使用RegEx,这将比正则表达式更好。

答案 1 :(得分:0)

删除右侧的空格比使用正则表达式解析器(类似状态机)尝试每次单独组合和每次回溯更快。

A BC是否匹配ABC

正则表达式可以是^A\s?B\s?C$

  1. 我先有A吗? 继续
  2. 我有空间吗? 继续
  3. 我有B吗? 继续
  4. 我有空间吗? 跳过(因为?表示0或1)
  5. 我有C吗? 继续
  6. 我在弦乐的最后? 在这里完成。
  7. 比较两个字符串更轻,更轻,速度更快。