Rumah >pembangunan bahagian belakang >tutorial php >关于正则表达式的一个问题
问题: 有字符串:“python php ruby javascript jsonp perhapsphpisoutdated”
对于该字符串,使用纯正则获取 所有带p 但是不能包含ph 的单词
输出数组 [ 'python', 'javascript', 'jsonp' ]
这个问题想了比较久,也没思路
我的解法是
<code>var result = str.match(/\b\w*(?=p)\w*\b/g) .filter((value)=>!/.*(?=ph)/.test(value)) var result2 = str.match( /\b((?!ph|\s).)*((p[^h\s]((?!ph|\s).)*)|p)\b/g ) console.log(result2)</code>
但是不符合纯正则的要求
群里有大牛给了这么一个答案
<code>/\b((?!ph|\s).)*((p[^h\s]((?!ph|\s).)*)|p)\b/g </code>
完美运行
但是我看不懂,希望有大牛能帮我解读