тук е програма, която съответства на нормален израз
string="Mozilla/5.0 (Series40; NOKIA311/03.81; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.2.0.0.31";
regex=/(nokia).*([a-zA-Z0-9]+)/i
regex.exec(string)
Моят проблем е, че не е съвпадащ с NOKIA и 311
Може ли някой help.please
Отговори:
2 за отговор № 1Проблемът е .*
, която се опитва да съчетае колкото е възможно повече. Тя всъщност свършва съвпадение на цялата останала част от низ и оставя само 1
от самия край, за да задоволи [a-zA-Z0-9]+
, Нуждаете се от по-конкретно регулярно изречение, може би:
/nokia(d+)/i
/nokia(.*?)//i
Най- .*?
прави .*
неохотно, така че ще съвпадне само с първата наклонена черта.
0 за отговор № 2
използвайте regex /NOKIA([dw]*)/i
Което ще съответства на модела NOKIA и произволен номер или дума без интервали