جاوا اسکریپت رگ ایکسپ رفرنس کتاب
- ਪਿਛਲਾ ਪੰਨਾ JS ਪ੍ਰੋਮਿਸ
- ਅਗਲਾ ਪੰਨਾ JS ਸੈੱਟ
RegExp ਆਬਜੈਕਟ
ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ
ਇਹ ਪ੍ਰਗਰਾਮ ਲਿਖਤ ਵਿੱਚ ਮੋਡਲ ਮੈਚ ਕਰਨ ਲਈ ‘ਖੋਜ ਅਤੇ ਬਦਲੋ’ ਫੰਕਸ਼ਨ ਦਾ ਇਸਤੇਮਾਲ ਕਰਦਾ ਹੈ。
ਜੇਵੇਂ ਕਿ JavaScript ਵਿੱਚ RegExp ਆਬਜੈਕਟ ਇੱਕ ਜੋ ਪ੍ਰਤੀਭਾਵ ਅਤੇ ਤਰੀਕੇ ਰੱਖਦਾ ਹੈ。
ਗਰਾਮਰ
/pattern/modifier(s);
ਇੰਸਟੈਂਸ
let pattern = /codew3c/i;
ਉਦਾਹਰਣ ਵਿਸਥਾਰ
codew3c | ਜੇਚਿਆਂ ਕਰਨ ਵਾਲਾ ਮੋਡਲ |
/codew3c/ | ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ |
/codew3c/i | ਅਲੱਗ-ਅਲੱਗ ਹਾਲਤ ਵਿੱਚ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ |
ਜੇਚਿਆਂ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਦੇ ਬਾਰੇ ਜਾਣਕਾਰੀ ਲਈ ਸਾਡੇ JavaScript RegExp ਟੂਰ.
ਮੋਡੀਫਾਇਰ
ਮੋਡੀਫਾਇਰ ਵਰਗ ਦਾ ਇਸਤੇਮਾਲ ਅਲੱਗ-ਅਲੱਗ ਹਾਲਤ ਵਿੱਚ ਖੋਜ ਕਰਨ ਲਈ ਕੀਤਾ ਜਾਂਦਾ ਹੈ:
ਮੋਡੀਫਾਇਰ | ਵਰਣਨ |
---|---|
g | ਸਾਰੇ ਮੈਚਾਂ ਦਾ ਮੈਚ ਕਰੋ (ਪਹਿਲੇ ਮੈਚ ਤੋਂ ਪਿੱਛੇ ਨਹੀਂ ਰੁਕੋ)。 |
i | ਅਲੱਗ-ਅਲੱਗ ਹਾਲਤ ਵਿੱਚ ਮੈਚ ਕਰੋ。 |
d | ਉਪ-ਸਟ੍ਰਿੰਗ ਮੈਚ ਕਰੋ。 |
m | ਬਹੁਤ ਸਾਰੀਆਂ ਲਾਈਨਾਂ ਦਾ ਮੈਚ ਕਰੋ。 |
ਬੰਦ ਖੁਣੇ
ਬੰਦ ਖੁਣੇ ਵਿੱਚ ਕੋਈ ਚਿੰਨ੍ਹ ਵਰਗ ਦਾ ਅੱਖਰ ਜੇਚਿਆਂ ਹੈ:
ਪ੍ਰਗਰਾਮ | ਵਰਣਨ |
---|---|
[abc] | ਬੰਦ ਖੁਣੇ ਵਿੱਚ ਕੋਈ ਅੱਖਰ ਜੇਚਿਆਂ ਹੈ。 |
[^abc] | ਜੇਚਿਆਂ ਕੋਈ ਬੰਦ ਖੁਣੇ ਵਿੱਚ ਨਾ ਹੋਣ ਵਾਲਾ ਅੱਖਰ ਹੈ。 |
[0-9] | ਜੇਚਿਆਂ ਕੋਈ ਤੋਂ 0 ਤੱਕ 9 ਦਾ ਨੰਬਰ ਹੈ。 |
[^0-9] | 查找任何不在括号内的字符(任何非数字)。 |
(x|y) | 查找任何指定的选项。 |
元字符
元字符是具有特殊含义的字符:
元字符 | ਵਰਣਨ |
---|---|
. | 查找单个字符,除了换行符或行终止符。 |
\w | 查找单词字符。 |
\W | 查找非单词字符。 |
\d | 查找数字。 |
\D | 查找非数字字符。 |
\s | 查找空白字符。 |
\S | 查找非空白字符。 |
\b | 在单词的开头/结尾查找匹配项,开头如下:\bHI,结尾如下:HI\b。 |
\B | 查找匹配项,但不在单词的开头/结尾处。 |
\0 | 查找 NULL 字符。 |
\n | 查找换行符。 |
\f | 查找换页符。 |
\r | 查找回车符。 |
\t | ਪ੍ਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਟੈਬ ਹੈ। |
\v | ਪ੍ਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਵਰਟੀਕਲ ਟੈਬ ਹੈ। |
\xxx | ਪ੍ਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਅੰਕ xxx ਦਾ ਅੰਕ ਹੈ। |
\xdd | ਪ੍ਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਅੰਕ dd ਦਾ ਅੰਕ ਹੈ। |
\udddd | ਪ੍ਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਯੂਨੀਕੋਡ ਅੰਕ xxxx ਦਾ ਅੰਕ ਹੈ। |
ਕੰਟੈਕਟਰ
ਕੰਟੈਕਟਰ | ਵਰਣਨ |
---|---|
n+ | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ਾ�ਦ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ ਅਤੇ ਉਸ ਤੋਂ ਬਾਅਦ ਘੱਟ ਜਾਂ ਵੱਧ ਚਿੰਨ੍ਹ ਹੋਣ। |
n* | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ਾ�ਦ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ ਅਤੇ ਉਸ ਤੋਂ ਬਾਅਦ ਘੱਟ ਜਾਂ ਵੱਧ ਚਿੰਨ੍ਹ ਹੋਣ। |
n? | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ਾ�ਦ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ ਅਤੇ ਉਸ ਤੋਂ ਬਾਅਦ X ਤੋਂ ਘੱਟ ਚਿੰਨ੍ਹ ਹੋਣ। |
n{X} | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ਾਇਦ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ ਅਤੇ ਉਸ ਤੋਂ ਬਾਅਦ X ਤੋਂ ਘੱਟ ਜਾਂ ਵੱਧ ਚਿੰਨ੍ਹ ਹੋਣ। |
n{X,Y} | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ਾਇਦ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ ਅਤੇ ਉਸ ਤੋਂ ਬਾਅਦ X ਤੋਂ ਘੱਟ ਜਾਂ ਵੱਧ ਚਿੰਨ੍ਹ ਹੋਣ। |
n{X,} | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ਾਇਦ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ ਅਤੇ ਉਸ ਤੋਂ ਬਾਅਦ ਹੋਰ ਕੋਈ ਚਿੰਨ੍ਹ ਨਾ ਹੋਵੇ। |
n$ | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਜੋ ਸ਼ਾਇਦ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ। |
^n | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਜੋ ਸ਼ਾਇਦ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ। |
?=n | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਜੋ ਸ਼ਾਇਦ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ। |
?!n | ਪਰੀਖੇ ਕਿ ਕੋਈ ਵੀ ਸਟ੍ਰਿੰਗ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਜੋ ਸ਼ਾਇਦ ਨਾ ਹੋਵੇ ਕੋਈ ਵਿਸ਼ੇਸ਼ ਸਟ੍ਰਿੰਗ n ਨਾਲ ਮੈਚ ਕਰੇ। |
RegExp ਆਬਜੈਕਟ ਪੈਰਾਮੀਟਰ
ਪੈਰਾਮੀਟਰ | ਵਰਣਨ |
---|---|
constructor | RegExp ਆਬਜੈਕਟ ਪ੍ਰੋਟੋਟਾਈਪ ਬਣਾਉਣ ਵਾਲੇ ਫੰਕਸ਼ਨ ਵਾਪਸ ਦੇਣਾ ਹੈ。 |
global | ਪਰੀਖੇ ਕਿ "g" ਮੋਡੀਫਾਇਰ ਸੈਟ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿ ਨਹੀਂ? |
ignoreCase | ਪਰੀਖੇ ਕਿ "i" ਮੋਡੀਫਾਇਰ ਸੈਟ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿ ਨਹੀਂ? |
lastIndex | ਅਗਲੇ ਮੈਚਿੰਗ ਇੰਡੈਕਸ ਨਿਰਧਾਰਿਤ ਕਰੋ。 |
multiline | ਪਰੀਖੇ ਕਿ "m" ਮੋਡੀਫਾਇਰ ਸੈਟ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿ ਨਹੀਂ? |
source | RegExp ਪੈਟਰਨ ਟੈਕਸਟ ਵਾਪਸ ਦੇਣਾ ਹੈ。 |
RegExp ਆਬਜੈਕਟ ਮੈਥੋਡ
ਮੇਥਡ | ਵਰਣਨ |
---|---|
compile() | 1.5 ਵਰਜਨ ਵਿੱਚ ਤਿਆਗ ਦਿੱਤਾ ਹੈ। ਰੈਗੈਕਸ ਪ੍ਰੈਕਸਪ੍ਰੈਸ਼ਨ ਕੰਪਾਇਲ ਕਰੋ。 |
exec() | ਪਰੀਖੇ ਕਿ ਟੈਸਟ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਮੈਚਿੰਗ ਹੈ। ਪਹਿਲਾ ਮੈਚਿੰਗ ਮੁੱਲ ਵਾਪਸ ਦੇਣਾ ਹੈ。 |
test() | ਪਰੀਖੇ ਕਿ ਟੈਸਟ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਮੈਚਿੰਗ ਹੈ। ਤਾਕੀਦ ਕਰੋ ਜਾਂ ਮਾਨਤਾ ਕਰੋ。 |
toString() | 返回正则表达式的字符串值。 |
RegExp 对象描述
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
直接量语法
/pattern/attributes
创建 RegExp 对象的语法:
new RegExp(pattern, attributes);
ਇੱਕ ਵਿਕਲਪਿਤ ਸਟਰਿੰਗ ਹੈ, ਜਿਸ ਵਿੱਚ 'g', 'i' ਅਤੇ 'm' ਦੇ ਸਿੰਗਨਸ ਹਨ, ਜਿਹੜੇ ਕਿ ਸਮੁੱਚੇ ਮੈਚ, ਮੇਲ ਨਾਲ ਵੱਖਰੇ ਅੱਕਸ਼ਰਾਂ ਅਤੇ ਮਲਟੀਲਾਈਨ ਮੈਚ ਦੇ ਨਿਰਦੇਸ਼ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ECMAScript ਸਟੈਂਡਰਡ ਪਹਿਲਾਂ, m ਪੈਰਾਮੀਟਰ ਨਹੀਂ ਸਮਰਥਿਤ ਸੀ। ਜੇਕਰ
ਇੱਕ ਵਿਕਲਪਿਤ ਸਟਰਿੰਗ ਹੈ, ਜਿਸ ਵਿੱਚ 'g', 'i' ਅਤੇ 'm' ਦੇ ਸਿੰਗਨਸ ਹਨ, ਜਿਹੜੇ ਕਿ ਸਮੁੱਚੇ ਮੈਚ, ਮੇਲ ਨਾਲ ਵੱਖਰੇ ਅੱਕਸ਼ਰਾਂ ਅਤੇ ਮਲਟੀਲਾਈਨ ਮੈਚ ਦੇ ਨਿਰਦੇਸ਼ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ECMAScript ਸਟੈਂਡਰਡ ਪਹਿਲਾਂ, m ਪੈਰਾਮੀਟਰ ਨਹੀਂ ਸਮਰਥਿਤ ਸੀ। ਜੇਕਰ pattern ਪੈਰਾਮੀਟਰ
ਇੱਕ ਵਿਕਲਪਿਤ ਸਟਰਿੰਗ ਹੈ, ਜਿਸ ਵਿੱਚ 'g', 'i' ਅਤੇ 'm' ਦੇ ਸਿੰਗਨਸ ਹਨ, ਜਿਹੜੇ ਕਿ ਸਮੁੱਚੇ ਮੈਚ, ਮੇਲ ਨਾਲ ਵੱਖਰੇ ਅੱਕਸ਼ਰਾਂ ਅਤੇ ਮਲਟੀਲਾਈਨ ਮੈਚ ਦੇ ਨਿਰਦੇਸ਼ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ECMAScript ਸਟੈਂਡਰਡ ਪਹਿਲਾਂ, m ਪੈਰਾਮੀਟਰ ਨਹੀਂ ਸਮਰਥਿਤ ਸੀ। ਜੇਕਰ attributes ਪੈਰਾਮੀਟਰ pattern ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਹੈ ਤਾਂ ਸਟਰਿੰਗ ਵਜੋਂ ਨਹੀਂ ਹੈ, ਤਾਂ ਪੈਰਾਮੀਟਰ ਨੂੰ ਛੱਡਣਾ ਚਾਹੀਦਾ ਹੈ。
ਰਿਟਰਨ ਵੈਲਿਊ
ਇੱਕ ਨਵਾਂ RegExp ਆਬਜੈਕਟ, ਜੋ ਨਿਰਦਿਸ਼ਟ ਮੋਡ ਅਤੇ ਸਿੰਗਨਸ ਰੱਖਦਾ ਹੈ। ਜੇਕਰ ਪੈਰਾਮੀਟਰ pattern ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਹੈ ਤਾਂ RegExp() ਕੰਸਟ੍ਰਕਟਰ ਉਸ ਨਾਲ ਸਮਾਨ ਮੋਡ ਅਤੇ ਸਿੰਗਨਸ ਨਾਲ ਇੱਕ ਨਵਾਂ RegExp ਆਬਜੈਕਟ ਬਣਾਉਂਦਾ ਹੈ。
ਜੇਕਰ new ਕੰਜੈਕਟਰ ਨਹੀਂ ਵਰਤਿਆ ਜਾਂਦਾ ਅਤੇ RegExp() ਨੂੰ ਫੰਕਸ਼ਨ ਵਜੋਂ ਕਾਲਮ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਉਸ ਦਾ ਵਿਵਹਾਰ new ਕੰਜੈਕਟਰ ਵਜੋਂ ਕਾਲਮ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਅਜਿਹੇ ਹੀ ਹੈ, ਪਰ ਜਦੋਂ pattern ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਹੈ, ਤਾਂ ਉਹ ਕੇਵਲ patternਅਤੇ ਇੱਕ ਨਵਾਂ RegExp ਆਬਜੈਕਟ ਨਹੀਂ ਬਣਾਉਂਦਾ ਹੈ。
ਫੇਰ ਫੈਂਕੋ ਹੈ
SyntaxError - ਜੇਕਰ pattern ਇੱਕ ਲਾਗਿਕ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਨਹੀਂ ਹੈ, ਜਾਂ attributes ਗ, i ਅਤੇ m ਦੇ ਬਾਹਰ ਦੇ ਅੱਕਸ਼ਰ ਹੋਣ ਤਾਂ ਇਸ ਵਾਰਤਾ ਨੂੰ ਫੇਰ ਫੈਂਕੋ ਹੈ。
TypeError - ਜੇਕਰ pattern ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਆਬਜੈਕਟ ਹੈ, ਪਰ ਸਾਰੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਛੱਡੋ ਨਹੀਂ。 attributes ਪੈਰਾਮੀਟਰ, ਇਸ ਵਾਰਤਾ ਨੂੰ ਫੇਰ ਫੈਂਕੋ ਹੈ。
ਬਰਾਉਜ਼ਰ ਸਮਰਥਨ
/regexp/ ਐਕਮਾਸਕ੍ਰਿਪਟ 1 (ES1) ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ。
ਸਾਰੇ ਬਰਾਉਜ਼ਰਸ ਨੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਐੱਸਈ1 (JavaScript 1997) ਨੂੰ ਸਮਰਥਨ ਕਰਦੇ ਹਨ:
ਚਰਮੋਨੀ | ਆਈਈ | ਐਜ਼ | ਫਾਇਰਫਾਕਸ | ਸਫਾਰੀ | ਓਪਰਾ |
---|---|---|---|---|---|
ਚਰਮੋਨੀ | ਆਈਈ | ਐਜ਼ | ਫਾਇਰਫਾਕਸ | ਸਫਾਰੀ | ਓਪਰਾ |
ਸਮਰਥਨ | ਸਮਰਥਨ | ਸਮਰਥਨ | ਸਮਰਥਨ | ਸਮਰਥਨ | ਸਮਰਥਨ |
ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਦੇ ਸਟਰਿੰਗ ਆਬਜੈਕਟ ਦੇ ਮੇਥਡ
ਮੇਥਡ | ਵਰਣਨ |
---|---|
search | ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਨਾਲ ਮੈਚ ਵਾਲੇ ਮੁੱਲ ਨੂੰ ਜੋੜੋ。 |
match | ਇੱਕ ਜਾਂ ਕਈ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਦੇ ਮੈਚ ਨੂੰ ਲੱਭੋ。 |
replace | ਮੈਚ ਨਾਲ ਸਮਾਨ ਸਬੰਧਤ ਉਪ-ਸਟਰਿੰਗ ਨੂੰ ਤਬਦੀਲ ਕਰੋ。 |
split | ਇੱਕ ਸਟਰਿੰਗ ਨੂੰ ਸਟਰਿੰਗ ਏਕੀਕਰਣ ਵਿੱਚ ਵੰਡੋ。 |
- ਪਿਛਲਾ ਪੰਨਾ JS ਪ੍ਰੋਮਿਸ
- ਅਗਲਾ ਪੰਨਾ JS ਸੈੱਟ