1.(?= A)は、私たちが何かの前で一致する必要があることを意味します。
2.(?!a)は私たちが何かを一致させる必要があることを意味するものではありません。
3.(:?A)私たちは自分自身で何かを一致させる必要があることを意味します。
4.(?<= A)は、私たちが何かの背中を一致させる必要があることを意味します。
5.(?<!A)私たちは何かを一致させる必要があることを意味し、しません(?!A)で反対方向
例:
1。(= A?):
console.log( "私は中国の" .replace(/ I(?=中国)/、 "RR"))
プリントアウト:RR中国の人々 (試合は中国の前にある「私は」)
。2(?A):
console.log( "私は中国の" .replace(/(?!中国)/、 "RR"))
プリントアウト:RR私は中国人です
図3(?:A):
console.log( "私は中国人だ" .replace(/(?:中国)/、 "RR"))
プリントアウト:私は男のRRです
4 ..(<= A):
console.log( "私は中国人だ" .replace(/(?<=中国)の人々/、 "RR"))
プリントアウト:私は中国のRRです
5。(<A?!):
console.log( "私は中国の" .replace(/(?<!中国)/、 "RR"))
プリントアウト:RR私は中国人です
いくつかの定期的な実用化
中国の文字列の除去
console.log( "AAA、私は中国の111だ" .replace(/ [^ u4E00-u9FA5] / G、 ""))// 中国を削除し、出力: 'aaa111'
文字列英語を削除
console.log(? "AAA私は中国の111だ" .replace(/([AZ])+ / G、 ""))// 英語を削除し、出力: '私は中国の111です'
数値文字列を削除します
(?.replace(/(D)+ / G " "AAA私は中国の111だ""))はconsole.log // : '私は中国人だAAA'のデジタル出力を削除
デジタル・フォーマット
console.log( "1234567890" .replace(/ B(=(?:D {3})+(?D))/ gで、 ""? )) // 输出: '1234567890'
IPアドレスを削除
console.log( "192.168.0.1" .replace(/((2 [0-4] D | 25 [0-5] | [01] DD)){3}(2 [0-4] D?。 ??| 25 [0-5] | [01] DD)/、 "RR" )) // 输出: 'RR'