JavaScript RegEx匹配set中的所有字符,除了some

时间:2014-02-01 02:47:40

标签: javascript regex

我需要测试一个字符串是否只包含标点符号,除了一个字符符号说hypen( - )

  1. '?? ...' - >是的
  2. '。!sf' - >假的
  3. '..- ??' - >假
  4. 我使用库XRegEx库,允许匹配例如p {P}的标点符号,但我需要从此匹配中排除一些字符。

    我使用以下模式:

    new XRegExp("^\\p{P}+$")
    

    除了“ - ”之外,我怎么能超过这个符号?

    N.B。最初的问题是关于“leters”: 我需要测试一个字符串是否包含字母,除了一个字母,而不是字母“m”

2 个答案:

答案 0 :(得分:2)

/^[a-ln-z]+$/.test('abcfx')
// true
/^[a-ln-z]+$/.test('abcfx12.!')
// false
/^[a-ln-z]+$/.test('abcmfx')
// false

使用正向前瞻:

/^(?=[^m]+$)[a-z]+$/.test('abcfx')
// true
/^(?=[^m]+$)[a-z]+$/.test('abcfx12.!')
// false
/^(?=[^m]+$)[a-z]+$/.test('abcmfx')
// false

答案 1 :(得分:1)

您正在寻找的可能是此正则表达式,其范围从al以及从nz

^[a-ln-z]+$