1. Methode
Reguläre Ausdrücke können mit den Exec- und Testmethoden von RegExp und den Match-, Replacement-, Search- und Split-Methoden von String verwendet werden.
Methode | beschreiben |
---|---|
Geschäftsführer | Eine RegExp-Methode, die eine Suche nach einer Übereinstimmung in einer Zeichenfolge durchführt und ein Array zurückgibt (oder null, wenn keine Übereinstimmung gefunden wird). |
prüfen | Eine RegExp-Methode, die auf eine Übereinstimmung in einer Zeichenfolge prüft und „true“ oder „false“ zurückgibt |
übereinstimmen | Eine String-Methode, die eine Suche nach einer Übereinstimmung in einer Zeichenfolge durchführt und ein Array oder Null zurückgibt, wenn keine Übereinstimmung gefunden wird. |
matchAll | Eine String-Methode, die nach allen Übereinstimmungen in einem String sucht und einen Iterator zurückgibt |
suchen | Eine String-Methode, die auf eine Übereinstimmung in einer Zeichenfolge prüft und den Positionsindex der Übereinstimmung oder -1 bei einem Fehler zurückgibt |
ersetzen | Eine String-Methode, die eine Suchübereinstimmung in einer Zeichenfolge durchführt und die übereinstimmende Teilzeichenfolge durch die Ersatzzeichenfolge ersetzt |
Teilt | Eine String-Methode, die einen regulären Ausdruck oder eine feste Zeichenfolge verwendet, um eine Zeichenfolge zu trennen, und die getrennten Teilzeichenfolgen in einem Array speichert. |
2. Anwendungsbeispiele
2.1 Exekutive
Der Rückgabewert ist ein Array oder null
const reg = new RegExp('[0-9]') // 创建一个正则表达式,匹配一个数字,等同于/[0-9]/
let result1 = reg.exec('A 1 2 Apple.') // 等同于 /[0-9]/.exec('A 1 2 Apple.')
console.log(result1) // [ '1', index: 2, input: 'A 1 2 Apple.', groups: undefined ]
let result2 = reg.exec('A Apple.')
console.log(result2) // null
2.2 Test
Der Rückgabewert ist wahr oder falsch
const reg = new RegExp('^[0-9]+$') // 创建一个正则表达式,全部都是数字,等同于/^[0-9]+$/
let result1 = reg.test('123456abc') // 等同于/^[0-9]+$/.test('123456abc')
console.log(result1) // false
let result2 = /^[0-9]+$/.test('12345678999')
console.log(result2) // true
2,3 Übereinstimmung
Der Rückgabewert ist ein Array oder null (gibt das Array der ersten Übereinstimmung des regulären Ausdrucks in der Zeichenfolge zurück)
Wenn ein nicht reguläres Ausdrucksobjekt regexp übergeben wird, Wird ein neuer RegExp verwendet (regexp), wird er implizit in ein reguläres Ausdrucksobjekt konvertiert. Wenn beispielsweise unten eine Zeichenfolge übergeben wird, wird sie in ein reguläres Ausdrucksobjekt konvertiert.
const reg = new RegExp('^[0-9]+$') // 创建一个正则表达式,全部都是数字,等同于/^[0-9]+$/
let result1 = '123456abc'.match(reg) // 等同于'123456abc'.match(/^[0-9]+$/)
console.log(result1) // null
let result2 = '12345678999'.match(/^[0-9]+$/)
console.log(result2) // [ '12345678999', index: 0, input: '12345678999', groups: undefined ]
console.log('121231464'.match('65')) // null
console.log('121231464'.match('12')) // [ '12', index: 0, input: '121231464', groups: undefined ]
console.log('121231464'.match('64')) // [ '64', index: 7, input: '121231464', groups: undefined ]
2.4 matchAll
Der Rückgabewert ist ein Iterator
const regexp = /t(e)(st(\d?))/g;
const str = 'test1test2';
const array = [...str.matchAll(regexp)];
console.log(array);
// Expected output: Array [
// [ 'test1', 'e', 'st1', '1', index: 0, input: 'test1test2', groups: undefined ],
// [ 'test2', 'e', 'st2', '2', index: 5, input: 'test1test2', groups: undefined ]
// ]
2,5 Suche
Der Rückgabewert ist der übereinstimmende Index oder -1 (gibt den Index der ersten Übereinstimmung des regulären Ausdrucks in der Zeichenfolge zurück; andernfalls wird -1 zurückgegeben)
Übergeben Sie einen Nicht-Index -regular expression Ausdrucksobjekt regexp, new RegExp(regexp) wird verwendet, um es implizit in ein reguläres Ausdrucksobjekt zu konvertieren. Wenn beispielsweise unten eine Zeichenfolge übergeben wird, wird sie in ein reguläres Ausdrucksobjekt konvertiert.
console.log('121231464'.search('12'))
// Expected output: 0
console.log('121231464'.search('64'))
// Expected output: 7
console.log('121231464'.search('65'))
// Expected output: -1