Inhaltszusammenfassung der PHP-Regelmäßigkeit (detailliert)

不言
Freigeben: 2023-04-05 09:02:01
nach vorne
5273 Leute haben es durchsucht

Der Inhalt dieses Artikels ist eine (detaillierte) Zusammenfassung des regulären PHP-Inhalts. Ich hoffe, dass er für Freunde in Not hilfreich ist.

1. Regelmäßiges Grundwissen

Zeilenlokatoren (^ und $)

Zeilenlokalisatoren werden verwendet, um die Grenzen von Zeichenfolgen zu beschreiben. „$“ stellt das Ende der Zeile dar. „^“ stellt den Anfang der Zeile dar. „^de“ stellt beispielsweise eine Zeichenfolge dar, die mit de beginnt.

Worttrennzeichen

Wenn wir nach einem Wort suchen, z. B. ob ein in einer Zeichenfolge „gril und body“ vorhanden ist, ist es offensichtlich, dass bei einer Übereinstimmung ein definitiv in Ordnung ist. Die Übereinstimmung Die Zeichenfolge „gril and body“ stimmt überein. Wie können wir dafür sorgen, dass sie mit Wörtern und nicht mit Wortteilen übereinstimmt? Zu diesem Zeitpunkt können wir ein Worttrennzeichen b sein.
Wenn banb mit „gril and body“ übereinstimmt, wird eine Meldung angezeigt, dass keine Übereinstimmung möglich ist.
Natürlich gibt es ein großes B, was genau das Gegenteil von b bedeutet. Die entsprechende Zeichenfolge kann kein vollständiges Wort sein, sondern ein Teil anderer Wörter oder Zeichenfolgen. Wie BanB.

Wählen Sie das Zeichen (|) aus, das dargestellt werden soll, oder

Wählen Sie das Zeichen aus, das dargestellt werden soll, oder. Aa|aA bedeutet beispielsweise Aa oder aA. Beachten Sie, dass der Unterschied zwischen der Verwendung von „[]“ und „|“ darin besteht, dass „[]“ nur mit einem einzelnen Zeichen übereinstimmen kann, während „|“ mit einer Zeichenfolge beliebiger Länge übereinstimmen kann. Bei der Verwendung von „[]“ wird es häufig zusammen mit dem Verbindungszeichen „-“ verwendet, z. B. [a-d], das a oder b oder c oder d darstellt.

Zeichen ausschließen, Operationen ausschließen

Reguläre Ausdrücke stellen „^“ bereit, um nicht übereinstimmende Zeichen auszuschließen. ^ wird im Allgemeinen in [] platziert. Beispiel: [^1-5], dieses Zeichen ist keine Zahl zwischen 1 und 5.

Qualifier (?*+{n, m})

Qualifier wird hauptsächlich verwendet, um die Anzahl des Vorkommens jeder Zeichenfolge zu begrenzen.

限定字符 含义
零次或一次
* 零次或多次
+ 一次或多次
{n} n次
{n,} 至少n次
{n,m} n到m次

Zum Beispiel steht (D+) für ein oder mehrere D

Der Punktoperator

entspricht jedem Zeichen (außer Zeilenumbrüchen))

Backslash in expression ()

Backslash in expression hat mehrere Bedeutungen, z. B. Escapezeichen, Angabe eines vordefinierten Zeichensatzes, Definieren von Behauptungen und Anzeigen nicht druckbarer Zeichen.

Escape-Zeichen

Escape-Zeichen wandeln hauptsächlich einige Sonderzeichen in normale Zeichen um. Zu diesen häufig verwendeten Sonderzeichen gehören „.“, „?“, „“ usw.

Geben Sie einen vordefinierten Zeichensatz an

字符 含义
d 任意一个十进制数字[0-9]
D 任意一个非十进制数字
s 任意一个空白字符(空格、换行符、换页符、回车符、字表符)
S 任意一个非空白字符
w 任意一个单词字符
W 任意个非单词字符

###Nicht druckbare Zeichen anzeigen

字符 含义
a 报警
b 退格
f 换页
n 换行
r 回车
t 字表符

Klammerzeichen ()

Die Hauptfunktionen von Klammern in regulären Ausdrücken sind:

Ändern des Geltungsbereichs von Qualifizierern wie (|, *, ^)
Zum Beispiel (mein|Ihr)Baby, wenn es kein „ ( )", | entspricht entweder my oder yourbaby. Mit Klammern entspricht es entweder mybaby oder yourbaby.

ist zur einfachen Rückreferenzierung gruppiert.

Mustermodifikator

Die Rolle des Mustermodifikators besteht darin, das Muster festzulegen, d. h. wie es regelmäßig ist Der Ausdruck sieht aus wie „erklären“. Die Hauptmuster in PHP sind wie folgt:

Modifier Beschreibung
i Groß-/Kleinschreibung ignorieren
m Mehrfachtextmodus
s Einzeiliger Textmodus
修饰符 说明
i 忽略大小写
m 多文本模式
s 单行文本模式

x

 

忽略空白字符
x
Leerzeichen ignorieren

U Lazy-Modus (schreiben Sie nicht den Standard-Greed-Modus)

2. Häufig verwendete PHP-reguläre Funktionen und Beispiele

a >preg_grep wird verwendet, um Array-Einträge zurückzugeben, die einem Muster entsprechen.

Syntax

array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )
Nach dem Login kopieren

Gibt ein Array von Elementen in der angegebenen Array-Eingabe zurück, die dem Mustermuster entsprechen.

Parameterbeschreibung:

    $pattern: Das zu durchsuchende Muster in Zeichenfolgenform.
  • $input: Eingabearray.
  • $flags: Wenn diese Funktion auf PREG_GREP_INVERT gesetzt ist, gibt sie ein Array von Elementen im Eingabearray zurück, die nicht mit dem angegebenen Mustermuster übereinstimmen.
  • Instanz

Gibt das angegebene übereinstimmende Element im Array zurück:

<?php
$array = array(1, 2, 3.4, 53, 7.9);
// 返回所有包含浮点数的元素
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
print_r($fl_array);
?>
Nach dem Login kopieren
Das Ausführungsergebnis lautet wie folgt:

Array
(
    [2] => 3.4
    [4] => 7.9
)
Nach dem Login kopieren

Es ist ersichtlich, dass preg_grep nur die Gleitkommazahlen im Array zurückgibt.

b.preg_match()-Funktion

PHP Regular Expression (PCRE)

preg_last_error-Funktion wird verwendet, um einen regulären Ausdrucksabgleich durchzuführen.

Syntax

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
Nach dem Login kopieren

Suchen Sie im Betreff nach einer Übereinstimmung mit dem durch Muster angegebenen regulären Ausdruck.

Parameterbeschreibung:

$pattern: Das zu durchsuchende Muster in Zeichenfolgenform.

$subject: Eingabezeichenfolge.

$matches: Wenn der Parameter „matches“ angegeben ist, wird er als Suchergebnisse ausgefüllt. $matches[0] enthält den Text, der mit dem vollständigen Muster übereinstimmt, $matches[1] enthält den Text, der mit der ersten erfassenden Untergruppe übereinstimmt, und so weiter.

$flags: Flags können auf die folgenden Flag-Werte gesetzt werden:

PREG_OFFSET_CAPTURE: Wenn dieses Flag übergeben wird, der String-Offset (relativ zum Ziel-String). Hinweis: Dadurch wird das im Parameter „Matches“ ausgefüllte Array geändert, sodass jedes Element zu einer Zeichenfolge wird, wobei das 0. Element die übereinstimmende Zeichenfolge und das 1. Element der Offset der übereinstimmenden Zeichenfolge im Zielzeichenfolgensubjekt ist.

Offset: Normalerweise beginnt die Suche am Anfang der Zielzeichenfolge. Der optionale Parameter offset wird verwendet, um die Suche ab einem unbekannten Punkt in der Zielzeichenfolge anzugeben (Einheit ist Bytes).

Rückgabewert

Gibt die Anzahl der Musterübereinstimmungen zurück. Sein Wert ist 0 (keine Übereinstimmung) oder 1, da preg_match() die Suche nach der ersten Übereinstimmung beendet. Der Unterschied zu preg_match_all() besteht darin, dass das Subjekt bis zum Ende gesucht wird. Wenn ein Fehler auftritt, gibt preg_match() FALSE zurück.

Beispiel

Suchen Sie die Textzeichenfolge „php“:

<?php
//模式分隔符后的"i"标记这是一个大小写不敏感的搜索
if (preg_match("/php/i", "PHP is the web scripting language of choice."))
{
echo "查找到匹配的字符串 php。";
} else {
echo "未发现匹配的字符串 php。";
} ?>
Nach dem Login kopieren

Das Ausführungsergebnis ist wie folgt:

查找到匹配的字符串 php。
Nach dem Login kopieren

Suchen Sie das Wort „word“

<?php
/* 模式中的\b标记一个单词边界,所以只有独立的单词"web"会被匹配,而不会匹配 * 单词的部分内容比如"webbing" 或 "cobweb" */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
echo "查找到匹配的字符串。\n";
} else {
echo "未发现匹配的字符串。\n";
}
if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
echo "查找到匹配的字符串。\n";
} else {
echo "未发现匹配的字符串。\n";
} ?>
Nach dem Login kopieren

Das Ausführungsergebnis ist wie folgt:

查找到匹配的字符串。
未发现匹配的字符串。
Nach dem Login kopieren

Den Domänennamen in der URL abrufen

<?php
// 从URL中获取主机名称
preg_match(&#39;@^(?:http://)?([^/]+)@i&#39;, "http://www.runoob.com/index.html", $matches);
$host = $matches[1];
// 获取主机名称的后面两部分
preg_match(&#39;/[^.]+\.[^.]+$/&#39;, $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>
Nach dem Login kopieren

Das Ausführungsergebnis ist wie folgt:

domain name is: runoob.com
Nach dem Login kopieren

c.preg_match_all ()-Funktion

PHP Regular Expression (PCRE)

Die preg_match_all-Funktion wird verwendet, um einen globalen regulären Ausdrucksabgleich durchzuführen.

Syntax

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
Nach dem Login kopieren

Suchen Sie im Betreff nach allen übereinstimmenden Ergebnissen eines Musters mit einem regulären Ausdruck und geben Sie sie als Übereinstimmungen in der durch das Flag angegebenen Reihenfolge aus.

Nachdem die erste Übereinstimmung gefunden wurde, setzt die Teilsequenz die Suche ab der letzten übereinstimmenden Position fort.

Parameterbeschreibung:

$pattern: Das zu durchsuchende Muster in Zeichenfolgenform.

$subject: Eingabezeichenfolge

$matches: mehrdimensionales Array, alle übereinstimmenden Ergebnisse werden als Ausgabeparameter ausgegeben, die Array-Sortierung wird durch Flags angegeben.

$flags: Kann in Kombination mit den folgenden Tags verwendet werden (beachten Sie, dass PREG_PATTERN_ORDER und PREG_SET_ORDER nicht gleichzeitig verwendet werden können):

PREG_PATTERN_ORDER: Das Ergebnis wird als $matches[0 sortiert ], um alle Übereinstimmungen des vollständigen Musters zu speichern, $matches[ 1] alle Übereinstimmungen der ersten Untergruppe speichern usw.

PREG_SET_ORDER: Die Ergebnisse werden sortiert als $matches[0] enthält alle Übereinstimmungen (einschließlich Untergruppen) aus der ersten Übereinstimmung, $matches[1] enthält alle Übereinstimmungen (einschließlich Untergruppen) aus der zweiten Übereinstimmung) und so weiter An.

PREG_OFFSET_CAPTURE: Wenn dieses Flag übergeben wird, wird jede gefundene Übereinstimmung mit einem erhöhten Offset relativ zur Zielzeichenfolge zurückgegeben.

Offset: Normalerweise beginnt die Suche am Anfang der Zielzeichenfolge. Der optionale Parameter offset wird verwendet, um die Suche ab der angegebenen Position in der Zielzeichenfolge zu starten (Einheit ist Byte).

Rückgabewert

Gibt die Anzahl der vollständigen Übereinstimmungen zurück (möglicherweise 0) oder FALSE, wenn ein Fehler auftritt.

Beispiel

Suchen Sie den Inhalt, der den Tags folgt Darstellung:

<?php
$userinfo = "Name: <b>PHP</b> <br> Title: <b>Programming Language</b>";
preg_match_all ("/<b>(.*)<\/b>/U", $userinfo, $pat_array);
print_r($pat_array[0]);
?>
Nach dem Login kopieren

d. preg_replace()-Funktion

preg_replace-Funktion führt eine Suche und Ersetzung regulärer Ausdrücke durch.

Syntax

Array
(
    [0] => <b>PHP</b>
    [1] => <b>Programming Language</b>
)
Nach dem Login kopieren

Suchen Sie nach dem Teil des Betreffs, der dem Muster entspricht, und ersetzen Sie ihn durch Ersetzung.

Parameterbeschreibung:

$pattern: Das zu durchsuchende Muster, das ein String oder ein String-Array sein kann.

$replacement: String oder Array von Strings, die zum Ersetzen verwendet werden.

$subject: Der Zielstring oder das String-Array, der durchsucht und ersetzt werden soll.

$limit: Optional, die maximale Anzahl von Ersetzungen für jede Betreffzeichenfolge pro Muster. Der Standardwert ist -1 (keine Begrenzung).

$count: 可选,为替换执行的次数。(用于统计被替换的次数)

返回值

如果 subject 是一个数组, preg_replace() 返回一个数组, 其他情况下返回一个字符串。

如果匹配被查找到,替换后的 subject 被返回,其他情况下 返回没有改变的 subject。如果发生错误,返回 NULL。

实例

将 google 替换为 runoob

<?php
$string = &#39;google 123, 456&#39;;
$pattern = &#39;/(\w+) (\d+), (\d+)/i&#39;;
$replacement = &#39;runoob ${2},$3&#39;;
echo preg_replace($pattern, $replacement, $string);
?>
Nach dem Login kopieren

执行结果如下所示:

runoob 123,456
Nach dem Login kopieren

删除空格字符

<?php
$str = &#39;runo o b&#39;;
$str = preg_replace(&#39;/\s+/&#39;, &#39;&#39;, $str);
// 将会改变为&#39;runoob&#39; echo $str;
?>
Nach dem Login kopieren

执行结果如下所示:

runoob
Nach dem Login kopieren

使用基于数组索引的搜索替换

<?php
$string = &#39;The quick brown fox jumped over the lazy dog.&#39;;
$patterns = array();
$patterns[0] = &#39;/quick/&#39;;
$patterns[1] = &#39;/brown/&#39;;
$patterns[2] = &#39;/fox/&#39;;
$replacements = array();
$replacements[2] = &#39;bear&#39;;
$replacements[1] = &#39;black&#39;;
$replacements[0] = &#39;slow&#39;;
echo preg_replace($patterns, $replacements, $string);
?>
Nach dem Login kopieren

执行结果如下所示:

The bear black slow jumped over the lazy dog.
Nach dem Login kopieren

使用参数 count

<?php
$count = 0;
echo preg_replace(array(&#39;/\d/&#39;, &#39;/\s/&#39;), &#39;*&#39;, &#39;xp 4 to&#39;, -1 , $count);
echo $count; //3
?>
Nach dem Login kopieren

执行结果如下所示:

xp***to
3
Nach dem Login kopieren

e.preg_split() 函数

preg_replace 函数通过一个正则表达式分隔字符串。

语法

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
Nach dem Login kopieren

通过一个正则表达式分隔给定字符串。

参数说明:

$pattern: 用于搜索的模式,字符串形式。

$subject: 输入字符串。

$limit: 可选,如果指定,将限制分隔得到的子串最多只有limit个,返回的最后一个 子串将包含所有剩余部分。limit值为-1, 0或null时都代表"不限制", 作为php的标准,你可以使用null跳过对flags的设置。

$flags: 可选,可以是任何下面标记的组合(以位或运算 | 组合):

PREG_SPLIT_NO_EMPTY: 如果这个标记被设置, preg_split() 将进返回分隔后的非空部分。

PREG_SPLIT_DELIM_CAPTURE: 如果这个标记设置了,用于分隔的模式中的括号表达式将被捕获并返回。

PREG_SPLIT_OFFSET_CAPTURE: 如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量. 注意:这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第0 个元素为分隔后的子串,第1个元素为该子串在subject 中的偏移量组成的数组。

返回值

返回一个使用 pattern 边界分隔 subject 后得到的子串组成的数组。

实例

获取搜索字符串的部分

<?php
//使用逗号或空格(包含" ", \r, \t, \n, \f)分隔短语
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($keywords);
?>
Nach dem Login kopieren

执行结果如下所示:

Array
(
    [0] => hypertext
    [1] => language
    [2] => programming
)
Nach dem Login kopieren

将一个字符串分隔为组成它的字符

<?php
$str = &#39;runoob&#39;;
$chars = preg_split(&#39;//&#39;, $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
Nach dem Login kopieren

执行结果如下所示:

Array
(
    [0] => r
    [1] => u
    [2] => n
    [3] => o
    [4] => o
    [5] => b
)
Nach dem Login kopieren

分隔一个字符串并获取每部分的偏移量

<?php
$str = &#39;hypertext language programming&#39;;
$chars = preg_split(&#39;/ /&#39;, $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>
Nach dem Login kopieren

执行结果如下所示:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)
Nach dem Login kopieren

3.常用正则(参考作用)

一、校验数字的表达式 

1 数字:
^[0-9]*$
2 n位的数字:
^\d{n}$
3 至少n位的数字:
^\d{n,}$
4 m-n位的数字:
^\d{m,n}$
5 零和非零开头的数字:
^(0|[1-9][0-9]*)$
6 非零开头的最多带两位小数的数字:
^([1-9][0-9]*)+(.[0-9]{1,2})?$
7 带1-2位小数的正数或负数:
^(\-)?\d+(\.\d{1,2})?$
8 正数、负数、和小数:
^(\-|\+)?\d+(\.\d+)?$
9 有两位小数的正实数:
^[0-9]+(.[0-9]{2})?$
10 有1~3位小数的正实数:
^[0-9]+(.[0-9]{1,3})?$
11 非零的正整数:
^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
12 非零的负整数:
^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
13 非负整数:
^\d+$ 或 ^[1-9]\d*|0$
14 非正整数:
^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15 非负浮点数:
^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16 非正浮点数:
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17 正浮点数:
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18 负浮点数:
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19 浮点数:
^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ 

二、校验字符的表达式

1 汉字:
^[\u4e00-\u9fa5]{0,}$
2 英文和数字:
^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
3 长度为3-20的所有字符:
^.{3,20}$
4 由26个英文字母组成的字符串:
^[A-Za-z]+$
5 由26个大写英文字母组成的字符串:
^[A-Z]+$
6 由26个小写英文字母组成的字符串:
^[a-z]+$
7 由数字和26个英文字母组成的字符串:
^[A-Za-z0-9]+$
8 由数字、26个英文字母或者下划线组成的字符串:
^\w+$ 或 ^\w{3,20}$
9 中文、英文、数字包括下划线:
^[\u4E00-\u9FA5A-Za-z0-9_]+$
10 中文、英文、数字但不包括下划线等符号:
^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
11 可以输入含有^%&',;=?$\"等字符:
[^%&',;=?$\x22]+
12 禁止输入含有~的字符:
[^~\x22]+ 

三、特殊需求表达式 

1. E-Mail-Adresse:
^w+([-.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
2 :
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9] { 0,62})+/.?
3, InternetURL:
[a-zA-z]+://[^s]* oder ^http://([w-]+.) + [w-]+(/[w-./?%&=]*)?$
4, Mobiltelefonnummer:
^(13[0-9]|14[5|7]| 15[ 0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$
5, Telefonnummern („XXX-XXXXXXX“, „XXXX-XXXXXXXX“, „XXX-XXXXXXX“, „XXX-XXXXXXXX“, „XXXXXXX“ und „XXXXXXXX“):
^((d{3,4} -)|. d{3.4}-)?d{7,8}$
6 Inländische Telefonnummer (0511-4405222, 021-87888822):
d{3}-d{8}|d{4 }-d {7}
7. Ausweisnummer:
15- oder 18-stelliger Ausweis:
^d{15}|d{18}$
15-stelliger Ausweis:
^[1 -9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$
18-Bit-ID-Karte:
^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1| 2]d) |3[0-1])d{4}$
8. Kurze ID-Nummer (Zahlen, Buchstaben mit der Endung x):
^([0-9]){7,18} (x|X )?$
or
^d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
9. Ist das Konto legal (beginnt mit einem Buchstaben, erlaubt 5-16 Bytes, erlaubt alphanumerische Unterstriche):
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
10, Passwort (beginnend mit einem Buchstaben, die Länge liegt zwischen 6 und 18 und kann nur Buchstaben, Zahlen und Unterstriche enthalten):
^[a-zA-Z]w{5,17}$
11, sicheres Passwort (muss die Größe enthalten. Schreiben Sie eine Kombination aus Buchstaben und Zahlen, Sonderzeichen können nicht verwendet werden, die Länge liegt zwischen 8 und 10):
^(?=.*d)(?=.*[a-z ])(?=.*[A-Z]) .{8,10}$
12. Datumsformat:
^d{4}-d{1,2}-d{1,2}
13. 12 Monate des Jahres (01 ~09 und 1~12):
^(0?[1-9]|1[0-2])$
14, 31 Tage eines Monats ( 01~09 und 1~31):
^((0?[1-9])|((1|2)[0-9])|30|31)$
15, Geldeingabeformat :
16, 1. Ja, wir können vier Formen der Gelddarstellung akzeptieren: „10.000,00“ und „10.000,00“ sowie „10.000“ und „10.000“ ohne „Cent“:
^[1-9][0 -9]*$
17, 2. Damit ist jede Zahl gemeint, die nicht mit 0 beginnt, aber es bedeutet auch, dass ein Zeichen „0“ nicht übergeben wird, daher verwenden wir die folgende Form:
^(0 |[1-9][ 0-9]*)$
18, 3. Eine 0 oder eine Zahl, die nicht mit 0 beginnt. Wir können auch ein negatives Vorzeichen am Anfang zulassen:
^(0 |-?[1-9][ 0-9]*)$
19, 4. Dies bedeutet eine 0 oder eine Zahl, die negativ sein kann und nicht mit 0 beginnt. Lassen Sie den Benutzer mit 0 beginnen. Entfernen Sie die Auch ein negatives Vorzeichen, denn Geld kann niemals. Ist es negativ? Was wir unten hinzufügen müssen, ist die Erklärung des möglichen Dezimalteils:
^[0-9]+(.[0-9]+)?$
20, 5. Was erklärt werden muss, ist: Es sollte mindestens eine Ziffer nach dem Komma stehen, also wird nicht „10“ übergeben, sondern „10“ und „10.2“ werden übergeben:
^[0-9 ]+(.[0-9]{2 })?$
21. Auf diese Weise legen wir fest, dass nach dem Komma zwei Dezimalstellen stehen müssen Tun Sie dies:
^[0-9]+(.[0-9]{1 ,2})?$
22. Dies ermöglicht dem Benutzer, nur eine Dezimalstelle zu schreiben das Komma in der Zahl. Wir können dies tun:
^[0-9]{1,3 }(,[0-9]{3})*(.[0-9]{1,2}) ?$
23, 8,1 bis 3 Zahlen, gefolgt von einem beliebigen Komma + 3 Zahlen, Komma Werden optional, nicht erforderlich:
^([0-9]+|[0-9]{1,3}( ,[0-9]{3})*)(.[0-9] {1,2})?$
24. Hinweis: Dies ist das Endergebnis durch „*“ ersetzt, wenn Sie der Meinung sind, dass eine leere Zeichenfolge akzeptabel ist (seltsam, warum?). Vergessen Sie schließlich nicht, den Backslash zu entfernen, wenn Sie die Funktion verwenden. Die häufigsten Fehler finden Sie hier:
25, XML-Datei:
^([a-zA-Z]+-?)+[a-zA -Z0-9]+\.[x|X][m|M][l|L]$
26, regulärer Ausdruck von Chinesische Zeichen:
[u4e00-u9fa5]
27, Doppelbyte-Zeichen:
[^x00-xff]
(einschließlich chinesischer Zeichen, kann zur Berechnung der Länge der Zeichenfolge verwendet werden (die Länge). eines Doppelbyte-Zeichens wird als 2 gezählt und die Länge eines ASCII-Zeichens wird als 1 gezählt))
28 . Regulärer Ausdruck für Leerzeilen: ns*r (kann zum Löschen von Leerzeilen verwendet werden)
29. Regulärer Ausdruck für HTML-Tags:
<(S*?)[^>]*> *?|<.*? /> ist schade, das obige kann nur teilweise funktionieren und ist für komplexe verschachtelte Tags immer noch machtlos)
30. Regularisierung von führenden und nachfolgenden Leerzeichen Ausdruck: ^s*|s*$ oder (^s*)| (s*$) (kann verwendet werden, um Leerzeichen am Anfang und Ende der Zeile zu löschen (einschließlich Leerzeichen, Tabulatoren, Seitenvorschübe usw.), sehr nützliche Ausdrücke)
31, Tencent QQ-Nummer: [1- 9][0-9]{4,} (Tencent QQ-Nummer beginnt bei 10000)
32, China-Postleitzahl: [1-9] d{5}(?!d) (China-Postleitzahl ist 6-stellig)
33. IP-Adresse: d+.d+.d+.d+ (nützlich beim Extrahieren der IP-Adresse)

Das obige ist der detaillierte Inhalt vonInhaltszusammenfassung der PHP-Regelmäßigkeit (detailliert). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage