我需要匹配工作“v”,“n”,“adv”,“adj”并将它们替换为 v 等。
如果它们是在大括号(...)
之间或斜杠/.../
之间写的,我需要匹配它们。
他们最后可能会有一些垃圾符号,如, ;
等。
所以我想说:
abrasion n
air (v)
big /adj/
我需要这个结果:
abrasion <i>n</i>
air (<i>v</i>)
big /<i>adj</i>/
我目前正在使用此RegEx:
(?!(\B|\s|\/|\())(n|v|adj|adv)(?=(\s|$|\/|,|;|\)))
但它失败了。我一直得到这样的结果:
abrasio<i>n</i>
答案 0 :(得分:1)
答案 1 :(得分:1)
这可能适合你:
\b([nv]|ad[jv])\b
虽然它匹配的情况多于不需要的情况,但它不太可能匹配您不想匹配的任何内容。
替换为<i>\0<\i>
- \0
是整个匹配。
答案 2 :(得分:0)