正则表达式用于某些单词的结尾

时间:2011-08-31 05:11:47

标签: javascript regex

我想为系列

构建正则表达式

cd1_inputchk,rd_inputchk,optinputchk,其中inputchk是常见的(结束字符)

请指导相同的

2 个答案:

答案 0 :(得分:3)

这个应该有效(美元符号基本上意味着“字符串结尾”):

/inputchk$/

答案 1 :(得分:2)

很简单,就是:

/inputchk$/

基于每个单词(仅测试匹配/inputchk$/.test(word) ? 'matches' : 'doesn\'t match';)。这可行的原因是,它匹配字符串末尾的"inputchk"(因此$

对于单词的列表,它开始变得更加复杂。

  • 列表中是否有空格?
  • 他们需要吗?

我将假设no是两个问题的答案,并假设该列表以逗号分隔。

然后有几种方法可以继续。你可以使用list.split()来获取每个单词的数组,并在每个单词中查看它们是否以inputchk结尾,或者你可以使用修改后的正则表达式:

/[^,]*inputchk(?:,|$)/g

这个要复杂得多。

  • [^,]表示匹配非,字符
  • *然后说匹配0个或更多非非,个字符。 (这将是贪婪的)
  • inputchk匹配inputchk
  • (?:...)是一个非捕获括号。它表示匹配字符,但不存储匹配作为结果的一部分。
  • ,匹配,字符
  • |表示匹配一方另一方
  • $表示匹配字符串的结尾

希望所有这些一起选择你正在寻找的字符串,但是很容易出错,所以我建议你做一些严格的测试,以确保没有任何边缘条件被错过了。