JavaScript RegExp exec() စမ်းသပ်
- ပြီးပြီးခင် compile()
- နောက်ပိုင်း စာကြိုး test()
- အပြင်သို့ ပြန် JavaScript RegExp ကိုးကွယ်သည့် အော်ချမ်း
အသုံးပြုခြင်း နှင့် အပြောင်းအလဲ
exec()
သတင်းစာရင်း တွင် ပါဝင်သော အထူးသတင်းစာရင်း အား စစ်ဆေးသည်။
အသုံးပြုခြင်း ပုံစံ
အထူးသတင်းစာရင်း အား ပြန်လည်သတင်းစာရင်း null
တွေ့ရှိသော အထူးသတင်းစာရင်း အား ပြန်လည်သတင်းစာရင်း အား ပြန်လည်သတင်းစာရင်း
。
အမှု
အမှတ် 1
အခြား အထူးသတင်းစာရင်း များ အကြား လွှမ်းမိုး let text = "The best things in life are free";
ကျွန်တော်က လက်ရှိပါ အထူးသတင်းစာရင်း
let result = /e/.exec(text);
အမှတ် 2
အခြား အထူးသတင်းစာရင်း များ အကြား လွှမ်းမိုး let text = "Hello world!"; // "Hello" ကို ရှာဖွေပါ let result1 = /Hello/.exec(text); // "W3School" ကို ရှာဖွေပါ
အပြောအမှန်
regexp.exec(string)
ပါ
ပါ | ဖော်ပြ |
---|---|
string | တခုခု၏ ပြန်လည်သတင်းစာရင်း |
ပြန်လည်သတင်းစာရင်း
အမျိုးအစား | ဖော်ပြ |
---|---|
ပြန်လည်သတင်းစာရင်း | တွေ့ရှိသော အထူးသတင်းစာရင်း အား ပြန်လည်သတင်းစာရင်း ပြန်လည်သတင်းစာရင်း ပြန်လည်သတင်းစာရင်း |
နည်းပါးဆိုင်ရာ
ပြန်လည်သတင်းစာရင်း
ပြန်လည်သတင်းစာရင်း တစ်ခု သည် ပြန်လည်သတင်းစာရင်း တွင် အထူးသတင်းစာရင်း null
ပြန်လည်သတင်းစာရင်း၏ ပြောင်းလဲခြင်း ပုံစံ ကို အကြောင်းကြားပါတယ်။
ပေါ်ပေါက်သည်။
အမျိုးအစား | ဖော်ပြ |
---|---|
TypeError | ထို ပုံစံကို အသုံးပြုသော အရာတစ်ခု သည် RegExp မဟုတ် ဖြစ်လျှင် အမှား ပေါ်ပေါက်သည်။ |
အသိပေး
RegExp ပုံစံကို စစ်ဆေးသော ပုံစံ နှင့် String ပုံစံ စစ်ဆေးသော ပုံစံexec()
အားဆိုလျှင် အကြောင်းအရာအားကောင်းမွန်သည်။ အဆိုပါ မူလစာအုပ် သည် အသုံးပြုခြင်း RegExp.test()နှင့်String.replace() 和 String.match() အသုံးပြုခြင်း ပုံစံ
exec()
ရှာဖွေရန် သတင်းစာရင်း stringတွင် အထူးသတင်းစာရင်း regexp တွေ့ရှိသော အထူးသတင်းစာရင်း။ ချင်းသော exec()
တွေ့ရှိသော အထူးသတင်းစာရင်း အား ပြန်လည်သတင်းစာရင်း အား ပြန်လည်သတင်းစာရင်း ပြန်လည်သတင်းစာရင်း null
ဒါက ပြန်လည်သတင်းစာရင်း၏ ပထမ အသုံးပြုသူ သည် အထူးသတင်းစာရင်းကို ကူးယူပါသည်။ ပထမ အသုံးပြုသူ နှင့် regexp 的第一个子表达式相匹配的文本(如果存在)。第 2 个元素是与 regexp 的第二个子表达式相匹配的文本,以此类推。通常,数组的 length 属性声明的是数组中的元素个数。除了数组元素和 length 属性之外,exec()
还返回两个属性。index 属性声明的是匹配文本的第一个字符的位置。input 属性指的就是 string。在调用非全局 RegExp 对象的 exec()
方法时,返回的数组与调用方法 String.match() 返回的方法相同。
在调用非全局模式的 exec()
方法时,它将进行检索,并返回上述结果。不过,当 regexp 是一个全局正则表达式时,exec()
的行为就稍微复杂一些。它在 regexp 的属性 lastIndex 指定的字符处开始检索字符串 string 。当它找到了与表达式相匹配的文本时,在匹配之后,它将把 regexp 的 lastIndex 属性设置为匹配文本的第一个字符的位置。这就是说,可以通过反复地调用 exec()
方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时,它将返回 null
,并且把属性 lastIndex 重置为 0 。如果在另一个字符串中完成了一次模式匹配之后要开始检索新的字符串,就必须手动地把 lastIndex 属性重置为 0 。
注意,无论 regexp 是否是全局模式,exec()
都会将完整的细节添加到它返回的数组中。这就是 exec()
和 String.match() 的不同之处,后者在全局模式下返回的信息要少得多。事实上,在循环中反复地调用 exec()
方法是唯一一种获得全局模式的完整模式匹配信息的方法。
ဘရောက်သုံး ထောက်ပံ့
exec()
ECMAScript1 (ES1) သဘောတရား
အားလုံး ဘရောက်သုံး ဘရောက်သုံး အက်ဥပဒေအသုံးများကို အကောင်အထည်ဖော်ထားပါတယ်: ES1 (JavaScript 1997)
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
ထောက်ပံ့ | ထောက်ပံ့ | ထောက်ပံ့ | ထောက်ပံ့ | ထောက်ပံ့ | ထောက်ပံ့ |
အက်ဥပဒေ ရှာဖွေ နည်းလမ်း
JavaScript တွင် အသုံးပြုရန် အက်ဥပဒေအသုံးများကို မတူညီသော နည်းလမ်းများဖြင့် ရှာဖွေနိုင်ပါတယ်。
အသုံးပြုပုံစံအဓိပ္ပာယ်မှာ အသုံးချရသော နည်းလမ်းများမှာ နောက်ပါတယ်:
အမှတ်အသား | ဖော်ပြ |
---|---|
text.match(ပုံစံ) | စကားလုံး နည်းလမ်း match() |
text.search(ပုံစံ) | စကားလုံး နည်းလမ်း search() |
ပုံစံ.exec(text) | RexExp နည်းလမ်း exec() |
ပုံစံ.test(text) | RexExp နည်းလမ်း test() |
- ပြီးပြီးခင် compile()
- နောက်ပိုင်း စာကြိုး test()
- အပြင်သို့ ပြန် JavaScript RegExp ကိုးကွယ်သည့် အော်ချမ်း