2

我有多行文本,并且只想匹配没有数字的行:

text without numbers
text 1 with number

some other text
text without numbers
text 1 with number


text without numbers
text 1 with number

我运气不好。任何建议表示赞赏。

4

5 回答 5

8
^[^\d]*$

选择除数字以外的任何内容。

于 2012-04-18T08:12:03.133 回答
5

您可以断言整行仅由非数字组成:

^\D*$

\D是字符类的简写[^0-9](在当前的引擎中希望更类似于识别[^\d]Unicode \d,但我离题了......)它匹配数字之外的所有内容。

于 2012-04-18T08:10:10.117 回答
2
/^[^0-9]*$/

^ = 行首,[^0-9]* = 除数字外的任何内容,$ = 行尾

于 2012-04-18T08:11:24.013 回答
0

你可以做一个非贪婪的匹配[a-z ]*?\r\n

这将起作用,而无需您将每条线分开进行验证。该模式多次匹配任何字母或空格,但在换行之前

于 2012-04-18T08:10:07.430 回答
0

也许这个例子会帮助你:

<?php
    $string = "your_string";
    if (preg_match('/.*([0-9]*).*/simU', $string)) {
        echo "String with numbers";
    } else {
        echo "String without numbers";
    }
?>
于 2012-04-18T08:27:21.930 回答