Baseline Widely available
search()
æ¹æ³ç¨äºå¨ String
å¯¹è±¡ä¸æ§è¡æ£å表达å¼çæç´¢ï¼å¯»æ¾å¹é
项ã
const paragraph = "I think Ruth's dog is cuter than your dog!";
// Anything not a word character, whitespace or apostrophe
const regex = /[^\w\s']/g;
console.log(paragraph.search(regex));
// Expected output: 41
console.log(paragraph[paragraph.search(regex)]);
// Expected output: "!"
è¯æ³ åæ°
regexp
ä¸ä¸ªæ£å表达å¼å¯¹è±¡ï¼æè
å
·æ Symbol.search
æ¹æ³çä»»æå¯¹è±¡ã
妿 regexp
䏿¯ RegExp
对象ï¼å¹¶ä¸ä¸å
·æ Symbol.search
æ¹æ³ï¼åä¼ä½¿ç¨ new RegExp(regexp)
å°å
¶éå¼è½¬æ¢ä¸º RegExp
ã
妿å¹é
æåï¼åè¿åæ£å表达å¼å¨å符串ä¸é¦æ¬¡å¹é
çç´¢å¼ï¼å¦åï¼è¿å -1
ã
String.prototype.search()
æ¹æ³çå®ç°é常ç®åââå®åªæ¯å°è¯¥å符串ä½ä¸ºè°ç¨å®åæ¥æç Symbol.search
æ¹æ³ç第ä¸ä¸ªåæ°ãå®é
çå®ç°æ¥èªäº RegExp.prototype[Symbol.search]()
ã
regexp
ç g
æ å¿å¯¹ search()
æ¹æ³çç»ææ²¡æå½±åï¼æç´¢æ»æ¯ä»¥æ£å表达å¼ç lastIndex
为 0 è¿è¡ãæå
³ search()
æ¹æ³è¡ä¸ºçæ´å¤ä¿¡æ¯ï¼è¯·åé
RegExp.prototype[Symbol.search]()
ã
å½ä½ æ³ç¥éåç¬¦ä¸²ä¸æ¯å¦åå¨æä¸ªæ¨¡å¼ï¼å¹¶ä¸è¿æ³ç¥éå®å¨å符串ä¸çç´¢å¼æ¶ï¼å¯ä»¥ä½¿ç¨ search()
æ¹æ³ã
RegExp.prototype.test()
æ¹æ³ï¼å®è¿åä¸ä¸ªå¸å°å¼ãmatch()
æ RegExp.prototype.exec()
ãä¸é¢ç示ä¾ä¸ç¨ä¸¤ä¸ªä¸åçæ£å表达å¼å¯¹åä¸ä¸ªå符串æ§è¡æç´¢å¹é
ï¼å¾å°ä¸ä¸ªæåå¹é
ï¼æ£æ°è¿åå¼ï¼åä¸ä¸ªå¤±è´¥å¹é
ï¼-1
ï¼ã
const str = "hey JudE";
const re = /[A-Z]/;
const reDot = /[.]/;
console.log(str.search(re)); // è¿å 4ï¼è¿æ¯ç¬¬ä¸ä¸ªå¤§å忝âJâçç´¢å¼
console.log(str.search(reDot)); // è¿å -1ï¼æ¾ä¸å°ç¹ç¬¦å·â.â
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4