형님, 정규 표현식에 문제가 있습니다. 우선 정규 표현식 구성에는 두 가지 형태가 있습니다. 하나는 당신과 같고 다른 하나는 /abc/g입니다. /abc/g。
看你的意思,你的正则表达式应该这样写:
var match1 = new RegExp('\S*//weibo\.com/p/\S*');
var match2 = new RegExp('\S*//weibo\.com/p/\S+');
你的少了反斜杠,转义失败
为什么?因为按照你的正则表达式,实际上:
var match1 = new RegExp('\S*//weibo\.com/p/\S*');
match1.source;
// "S*\/\/weibo.com\/p\/S*"
然后就是 * 和 +
의미에 따라 정규식은 다음과 같이 작성되어야 합니다.
으아악
백슬래시가 누락되어 이스케이프 처리에 실패했습니다🎜
🎜왜? 정규 표현식에 따르면 실제로는 다음과 같습니다. 🎜
으아악
🎜그럼 *와 +의 차이가 있어서 첫 번째는 true이고 두 번째는 false입니다. 🎜
🎜정규 표현식을 구성할 때 이스케이프할 필요가 없도록 두 개의 슬래시를 사용하는 것이 좋습니다. 🎜
으아악
match1: s는 0~1개 이상의 공백과 일치합니다. //이것을 이스케이프 처리하고 // 일치하는 항목이 '/'가 되도록 사용하는 것이 가장 좋습니다. 이는 백슬래시가 없으면 '.'와 일치합니다. 문자이며 마지막 s는 0~1개 이상의 공백과 일치합니다. match2: 마지막 항목만 다릅니다(s+, 하나 이상의 공백). 그러나 문자열에는 분명히 p 뒤에 공백이 없으므로 false입니다
형님, 정규 표현식에 문제가 있습니다. 우선 정규 표현식 구성에는 두 가지 형태가 있습니다. 하나는 당신과 같고 다른 하나는
/abc/g
입니다./abc/g
。看你的意思,你的正则表达式应该这样写:
你的少了反斜杠,转义失败
为什么?因为按照你的正则表达式,实际上:
然后就是
의미에 따라 정규식은 다음과 같이 작성되어야 합니다.*
和+
으아악
백슬래시가 누락되어 이스케이프 처리에 실패했습니다🎜 🎜왜? 정규 표현식에 따르면 실제로는 다음과 같습니다. 🎜 으아악 🎜그럼*
와+
의 차이가 있어서 첫 번째는 true이고 두 번째는 false입니다. 🎜 🎜정규 표현식을 구성할 때 이스케이프할 필요가 없도록 두 개의 슬래시를 사용하는 것이 좋습니다. 🎜 으아악match1: s는 0~1개 이상의 공백과 일치합니다. //이것을 이스케이프 처리하고 // 일치하는 항목이 '/'가 되도록 사용하는 것이 가장 좋습니다. 이는 백슬래시가 없으면 '.'와 일치합니다. 문자이며 마지막 s는 0~1개 이상의 공백과 일치합니다.
match2: 마지막 항목만 다릅니다(s+, 하나 이상의 공백). 그러나 문자열에는 분명히 p 뒤에 공백이 없으므로 false입니다