2014-02-06 4 views
0

Я пытаюсь это, чтобы получить слово в словоразделах с Юникодом:preg_match слово в PHP

if(preg_match("/(?<!\p{L})jaunā(?!\p{L}) Iel.*/iu", "Jaunā. Iela") > 0){ 
    echo "<h1>Match!</h1>"; 

} 
else{ 
    echo "<h1>dont match</h1>"; 
} 

Почему я получаю «Не соответствует»?

Я хочу, чтобы найти слово «Jaunā» во всех вариациях, например:
текст, jaunā текст
текст jaunā, текст
текст, jaunā! Текст
jaunā текст
jaunā, текст
т.д.

Спасибо.

ответ

0

Вы можете попробовать следующее регулярное выражение:

/(?<!\p{L})jaunā(?!\p{L}).*? Iel.*/iu 

После jaunā у вас есть также . характер, поэтому с .*? вы можете сопоставить любые другие символы между jaunā и Iela

0

You регулярное выражение не соответствует заданному dot после jaunā:

Попробуйте следующее:

if(preg_match("/(?<!\p{L})jaunā(?!\p{L})\. Iel.*/iu", "Jaunā. Iela") > 0) { 
    echo "<h1>Match!</h1>"; 
} 
else{ 
    echo "<h1>dont match</h1>"; 
} 
+0

Спасибо, но что, если я хочу, чтобы найти слово «jaunā» во всех вариациях ... например: текст, текст jaunā текст Jaunā, текст текст, jaunā! текст и т. д. – user2783755

+0

Можете ли вы отредактировать свой вопрос с помощью некоторых примеров, которые вы хотите сопоставить. (непросто читать из комментариев). – anubhava

Смежные вопросы