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 | ||||||||||
|
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 ] )
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
<?php
$array = array(1, 2, 3.4, 53, 7.9);
// 返回所有包含浮点数的元素
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
print_r($fl_array);
?>
Das Ausführungsergebnis lautet wie folgt:
Array ( [2] => 3.4 [4] => 7.9 )
Es ist ersichtlich, dass preg_grep nur die Gleitkommazahlen im Array zurückgibt.
b.preg_match()-FunktionPHP 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 ]]] )
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。"; } ?>
Das Ausführungsergebnis ist wie folgt:
查找到匹配的字符串 php。
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"; } ?>
Das Ausführungsergebnis ist wie folgt:
查找到匹配的字符串。 未发现匹配的字符串。
Den Domänennamen in der URL abrufen
<?php // 从URL中获取主机名称 preg_match('@^(?:http://)?([^/]+)@i', "http://www.runoob.com/index.html", $matches); $host = $matches[1]; // 获取主机名称的后面两部分 preg_match('/[^.]+\.[^.]+$/', $host, $matches); echo "domain name is: {$matches[0]}\n"; ?>
Das Ausführungsergebnis ist wie folgt:
domain name is: runoob.com
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 ]]] )
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]); ?>
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> )
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 = 'google 123, 456'; $pattern = '/(\w+) (\d+), (\d+)/i'; $replacement = 'runoob ${2},$3'; echo preg_replace($pattern, $replacement, $string); ?>
执行结果如下所示:
runoob 123,456
删除空格字符
<?php $str = 'runo o b'; $str = preg_replace('/\s+/', '', $str); // 将会改变为'runoob' echo $str; ?>
执行结果如下所示:
runoob
使用基于数组索引的搜索替换
<?php $string = 'The quick brown fox jumped over the lazy dog.'; $patterns = array(); $patterns[0] = '/quick/'; $patterns[1] = '/brown/'; $patterns[2] = '/fox/'; $replacements = array(); $replacements[2] = 'bear'; $replacements[1] = 'black'; $replacements[0] = 'slow'; echo preg_replace($patterns, $replacements, $string); ?>
执行结果如下所示:
The bear black slow jumped over the lazy dog.
使用参数 count
<?php $count = 0; echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count); echo $count; //3 ?>
执行结果如下所示:
xp***to 3
e.preg_split() 函数
preg_replace 函数通过一个正则表达式分隔字符串。
语法
array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
通过一个正则表达式分隔给定字符串。
参数说明:
$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); ?>
执行结果如下所示:
Array ( [0] => hypertext [1] => language [2] => programming )
将一个字符串分隔为组成它的字符
<?php $str = 'runoob'; $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); print_r($chars); ?>
执行结果如下所示:
Array ( [0] => r [1] => u [2] => n [3] => o [4] => o [5] => b )
分隔一个字符串并获取每部分的偏移量
<?php $str = 'hypertext language programming'; $chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE); print_r($chars); ?>
执行结果如下所示:
Array ( [0] => Array ( [0] => hypertext [1] => 0 ) [1] => Array ( [0] => language [1] => 10 ) [2] => Array ( [0] => programming [1] => 19 ) )
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:
]*> *?1>|<.> 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!

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

Verwenden Sie in PHP das Klonschlüsselwort, um eine Kopie des Objekts zu erstellen und das Klonierungsverhalten über die \ _ \ _ Clone Magic -Methode anzupassen. 1. Verwenden Sie das Klonschlüsselwort, um eine flache Kopie zu erstellen und die Eigenschaften des Objekts, nicht die Eigenschaften des Objekts zu klonen. 2. Die \ _ \ _ Klonmethode kann verschachtelte Objekte tief kopieren, um flache Kopierprobleme zu vermeiden. 3. achten Sie darauf, dass kreisförmige Referenzen und Leistungsprobleme beim Klonen vermieden werden, und optimieren Sie die Klonierungsvorgänge, um die Effizienz zu verbessern.

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

Zu den wichtigsten Spielern in HTTP-Cache-Headern gehören Cache-Control, ETAG und Last-modifiziert. 1.Cache-Control wird verwendet, um die Richtlinien zu kontrollieren. Beispiel: Cache-Control: max-ay = 3600, öffentlich. 2. ETAG überprüft Ressourcenänderungen durch eindeutige Identifikatoren, Beispiel: ETAG: "686897696A7C876B7E". 3. Last-modifiziert gibt die letzte Änderungszeit der Ressource an, Beispiel: Last-Modified: Mi, 21okt201507: 28: 00GMT.

In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP ist eine serverseitige Skriptsprache, die für dynamische Webentwicklung und serverseitige Anwendungen verwendet wird. 1.PHP ist eine interpretierte Sprache, die keine Zusammenstellung erfordert und für die schnelle Entwicklung geeignet ist. 2. PHP -Code ist in HTML eingebettet, wodurch es einfach ist, Webseiten zu entwickeln. 3. PHP verarbeitet die serverseitige Logik, generiert die HTML-Ausgabe und unterstützt Benutzerinteraktion und Datenverarbeitung. 4. PHP kann mit der Datenbank interagieren, die Einreichung von Prozessformularen und serverseitige Aufgaben ausführen.

PHP hat das Netzwerk in den letzten Jahrzehnten geprägt und wird weiterhin eine wichtige Rolle bei der Webentwicklung spielen. 1) PHP stammt aus dem Jahr 1994 und ist aufgrund seiner Benutzerfreundlichkeit und der nahtlosen Integration in MySQL die erste Wahl für Entwickler. 2) Zu den Kernfunktionen gehört das Generieren dynamischer Inhalte und die Integration in die Datenbank, sodass die Website in Echtzeit aktualisiert und auf personalisierte Weise angezeigt wird. 3) Die breite Anwendung und das Ökosystem von PHP hat seine langfristigen Auswirkungen angetrieben, steht jedoch auch mit Versionsaktualisierungen und Sicherheitsherausforderungen gegenüber. 4) Leistungsverbesserungen in den letzten Jahren, wie die Veröffentlichung von PHP7, ermöglichen es ihm, mit modernen Sprachen zu konkurrieren. 5) In Zukunft muss PHP sich mit neuen Herausforderungen wie Containerisierung und Microservices befassen, aber seine Flexibilität und die aktive Community machen es anpassungsfähig.

Zu den Kernvorteilen von PHP gehören einfacher Lernen, starke Unterstützung für Webentwicklung, reiche Bibliotheken und Rahmenbedingungen, hohe Leistung und Skalierbarkeit, plattformübergreifende Kompatibilität und Kosteneffizienz. 1) leicht zu erlernen und zu bedienen, geeignet für Anfänger; 2) gute Integration in Webserver und unterstützt mehrere Datenbanken. 3) leistungsstarke Frameworks wie Laravel; 4) hohe Leistung kann durch Optimierung erzielt werden; 5) mehrere Betriebssysteme unterstützen; 6) Open Source, um die Entwicklungskosten zu senken.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver Mac
Visuelle Webentwicklungstools