2014-11-25 4 views
2

내가 "V", "N", "ADV", "형용사를"workds 일치 등 V로를 교체해야합니다 (형용사, ADV, V, N)와 일치하고 문법 단어를 대체하는정규식은

중괄호 (...) 사이 또는 슬래시 /.../ 사이에 쓰여진 경우 일치시켜야합니다.

abrasion <i>n</i> 
air (<i>v</i>) 
big /<i>adj</i>/ 

나는 현재이 정규식을 사용하고 있습니다 :

abrasion n 
air (v) 
big /adj/ 

나는이 결과를 필요 : 그들은 , ;

처럼 결국 일부 쓰레기 기호가있을 수 있습니다 그래서 내가 가진 가정 해 봅시다 :

(?!(\B|\s|\/|\())(n|v|adj|adv)(?=(\s|$|\/|,|;|\))) 

하지만 작동하지 않습니다. 나는 이런 종류의 결과가 계속 :

abrasio<i>n</i> 
+0

단어 경계 사용 (\ b) – Wrikken

답변

1

이 아마 당신을 위해 작동합니다

\b([nv]|ad[jv])\b 

Althoug 필요 이상으로 많은 경우 일치하므로 일치하지 않으려는 항목과 일치하지 않을 수 있습니다.

대체품은 <i>\0<\i>-\0입니다. 전체는입니다.

+0

탱크! 그래서 쉽게 될 appered. – momijigari

1

사용 단어 경계 \b.

정규식 :

\b(ad[vj]|[vn])\b 

교체 문자열 :

<i>$1</i> 

DEMO