4

前後に文字/数字を付けずに特定のキーワードを表す正規表現を作成するにはどうすればよいですか?(記号とスペースはオプションです)

私はこれを書こうとしましたが、うまくいかないようです:

let resWord = "[class|function|static|this|return]"
let keyword = new Regex("[^[^a-zA-Z0-9]]"+resWord+"[^[a-zA-Z0-9]$]")

私は正規表現を初めて使用するので、ばかげた質問である場合は失礼します:)

4

1 に答える 1

11

これは、否定的な先読みと後読みを使用して実現できます

    (?<![a-zA-Z0-9])(class|function|static|this|return)(?![a-zA-Z0-9])

またはそれらなしで。

    ([^a-zA-Z0-9])(class|function|static|this|return)([^a-zA-Z0-9])
于 2012-06-01T14:09:05.557 に答える