So verwenden Sie reguläre Ausdrücke

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

Supongo que te gusta

Origin blog.csdn.net/qq_43651168/article/details/130264535
Recomendado
Clasificación