PHP 규칙성에 대한 내용 요약(상세)

不言
풀어 주다: 2023-04-05 09:02:01
앞으로
5252명이 탐색했습니다.

이 글의 내용은 PHP 일반 내용을 요약(상세)한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 일반 기본 지식

행 위치 지정자(^ 및 $)

행 위치 지정자는 문자열의 경계를 설명하는 데 사용됩니다. "$"는 줄의 끝을 나타냅니다. "^"는 줄의 시작을 나타냅니다. 예를 들어 "^de"는 de로 시작하는 문자열을 나타냅니다.

단어 구분자

an이 문자열 "gril and body"에 존재하는지 여부와 같은 단어를 찾을 때 일치하는 경우 an이 문자열 "gril and body"와 확실히 일치할 수 있다는 것은 명백합니다. , 단어의 일부가 아닌 단어와 일치하도록 하려면 어떻게 해야 할까요? 이때 단어 구분 기호 b를 사용할 수 있습니다.
banb "그릴과 신체"를 일치시키려고 하면 일치하지 않는다는 메시지가 표시됩니다.
물론 대문자 B가 있습니다. 그 의미는 정확히 b와 반대입니다. 일치하는 문자열은 완전한 단어일 수 없고 다른 단어나 문자열의 일부일 수 있습니다. BanB와 같은.

나를 나타내는 문자(|)를 선택하거나

또는을 나타내는 문자를 선택하세요. 예를 들어 Aa|aA는 Aa 또는 aA를 의미합니다. "[]"와 "|" 사용의 차이점은 "[]"는 단일 문자에만 일치할 수 있는 반면 "|"는 모든 길이의 문자열과 일치할 수 있다는 것입니다. "[]"를 사용할 때에는 a, b, c, d를 나타내는 [a-d] 등 연결문자 "-"와 함께 사용되는 경우가 많다.

문자 제외, 작업 제외

정규식은 일치하지 않는 문자를 제외하기 위해 "^"를 제공하며, ^는 일반적으로 []에 배치됩니다. 예를 들어 [^1-5]는 1에서 5 사이의 숫자가 아닙니다.

한정자 (?*+{n, m})

한정자는 주로 각 문자열의 발생 횟수를 제한하는 데 사용됩니다.

한정 캐릭터 의미
? 0회 또는 1회
* 0회 이상
+ 한 번 이상
{n} 때때로
{n,} 적어도 n번은
{n,m} n~m번

예를 들어 (D+)는 하나 이상의 D를 나타냅니다.

도트 연산자

는 모든 문자와 일치합니다(개행 제외)

식의 백슬래시()

식 수식의 백슬래시 이스케이프, 미리 정의된 문자 집합 지정, 어설션 정의, 인쇄할 수 없는 문자 표시 등 다양한 의미를 갖습니다.

이스케이프 문자

이스케이프 문자는 주로 일부 특수 문자를 일반 문자로 변환합니다. 일반적으로 사용되는 특수 문자로는 ".", "?", "" 등이 있습니다.

사전 정의된 문자 집합 지정

Characters 의미
d 십진수 [0-9]
10진수가 아닌 모든 숫자
s 모든 공백 문자(공백, 줄 바꿈, 폼 피드, 캐리지 리턴, 문자)
S 공백이 아닌 모든 문자
w 모든 단어 문자
W 단어가 아닌 문자의 수에는 제한이 없습니다

###인쇄할 수 없는 문자 표시

문자 의미
a 알람
b 백스페이스
f 페이지 변경
n 줄바꿈
r 들어가세요
t 캐릭터

대괄호 문자()

정규식에서 괄호의 주요 기능은 다음과 같습니다.

(|, *, ^)와 같은 한정자의 범위를 변경합니다.
예: 그렇지 않은 경우 (my|your)baby "()", | my 또는 yourbaby와 일치합니다. 괄호를 사용하면 mybaby 또는 yourbaby와 일치합니다.

쉽게 다시 참조할 수 있는 그룹

패턴 수정자

패턴 수정자의 역할은 패턴, 즉 정규식이 해석되는 방식을 설정하는 것입니다. PHP의 주요 패턴은 다음과 같습니다:

modifier 지침
i 대소문자 무시
m 다중 텍스트 모드
s 한 줄 텍스트 모드

x

공백 문자 무시

U Lazy 모드(기본 Greedy 모드를 쓰지 않음)

2. 일반적으로 사용되는 PHP 일반 함수 및 예제

a.preg_grep() 함수

preg_grep 함수는 패턴과 일치하는 배열 항목을 반환하는 데 사용됩니다.

Syntax

array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )
로그인 후 복사

주어진 배열 입력에서 패턴 패턴과 일치하는 요소로 구성된 배열을 반환합니다.

매개변수 설명:

  • $pattern: 검색할 패턴(문자열 형식).

  • $input: 입력 배열.

  • $flags: PREG_GREP_INVERT로 설정된 경우 이 함수는 입력 배열에서 주어진 패턴 패턴과 일치하지 않는 요소 배열을 반환합니다.

Instance

배열에서 지정된 일치 요소를 반환합니다.

<?php
$array = array(1, 2, 3.4, 53, 7.9);
// 返回所有包含浮点数的元素
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
print_r($fl_array);
?>
로그인 후 복사

실행 결과는 다음과 같습니다.

Array
(
    [2] => 3.4
    [4] => 7.9
)
로그인 후 복사

preg_grep은 배열의 부동 소수점 숫자만 반환하는 것을 볼 수 있습니다.

b.preg_match() 함수

PHP 정규 표현식(PCRE)

preg_last_error 함수는 정규 표현식 일치를 수행하는 데 사용됩니다.

Syntax

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
로그인 후 복사

패턴으로 제공된 정규 표현식과 일치하는 항목을 검색하세요.

매개변수 설명:

$pattern: 검색할 패턴(문자열 형식).

$subject: 문자열을 입력합니다.

$matches: 매개변수 일치가 제공되면 검색 결과로 채워집니다. $matches[0]에는 전체 패턴과 일치하는 텍스트가 포함되고, $matches[1]에는 첫 번째 캡처 하위 그룹과 일치하는 텍스트가 포함됩니다.

$flags: 플래그는 다음 플래그 값으로 설정할 수 있습니다.

PREG_OFFSET_CAPTURE: 이 플래그가 전달되면 일치 항목이 발생할 때마다 문자열 오프셋(대상 문자열을 기준으로 함)이 반환됩니다. 참고: 이는 match 매개변수에 채워진 배열을 변경하여 각 요소가 0번째 요소가 일치하는 문자열이고 첫 번째 요소가 대상 문자열 subject에서 일치하는 문자열의 오프셋이 되는 문자열이 됩니다.

offset: 일반적으로 대상 문자열의 시작 부분부터 검색이 시작됩니다. 선택적 매개변수인 offset은 대상 문자열의 알 수 없는 지점부터 검색을 시작하도록 지정하는 데 사용됩니다(단위는 바이트).

반환 값

패턴 일치 개수를 반환합니다. preg_match()가 첫 번째 일치 후 검색을 중지하므로 해당 값은 0(일치 없음) 또는 1이 됩니다. preg_match_all()은 끝에 도달할 때까지 주제를 검색한다는 점에서 이와 다릅니다. 오류가 발생하면 preg_match()는 FALSE를 반환합니다.

예제

텍스트 문자열 "php" 찾기:

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

실행 결과는 다음과 같습니다.

查找到匹配的字符串 php。
로그인 후 복사

단어 "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";
} ?>
로그인 후 복사

실행 결과는 다음과 같습니다.

查找到匹配的字符串。
未发现匹配的字符串。
로그인 후 복사

도메인 이름 가져오기 the URL

<?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";
?>
로그인 후 복사

실행 결과는 다음과 같습니다.

domain name is: runoob.com
로그인 후 복사

c.preg_match_all() 함수

PHP Regular Expression (PCRE)

preg_match_all 함수를 사용하여 전역 정규식 일치를 수행합니다.

Syntax

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
로그인 후 복사

주어진 정규식 패턴과 일치하는 주제에서 일치하는 모든 결과를 검색하고 플래그에 지정된 순서대로 일치 항목을 출력합니다.

첫 번째 일치 항목을 찾은 후 마지막 일치 위치부터 하위 시퀀스를 계속 검색합니다.

매개변수 설명:

$pattern: 검색할 패턴(문자열 형식).

$subject: 입력 문자열

$matches: 다차원 배열, 일치하는 모든 결과를 출력 매개변수로 출력, 배열 정렬은 플래그로 지정됩니다.

$flags: 다음 플래그와 함께 사용할 수 있습니다(PREG_PATTERN_ORDER 및 PREG_SET_ORDER는 동시에 사용할 수 없습니다).

PREG_PATTERN_ORDER: 결과는 $matches[0]로 정렬되어 전체 일치 항목을 모두 저장합니다. 패턴, 첫 번째 하위 그룹의 모든 일치 항목을 저장하는 $matches[1] 등입니다.

PREG_SET_ORDER: 결과는 $matches[0]에 첫 번째 일치에서 얻은 모든 일치(하위 그룹 포함)가 포함되어 있고 $matches[1]는 두 번째 일치에서 얻은 모든 일치(하위 그룹 포함)가 포함된 배열이므로 정렬됩니다. 에.

PREG_OFFSET_CAPTURE: 이 플래그가 전달되면 발견된 각 일치 항목이 대상 문자열을 기준으로 증가된 오프셋과 함께 반환됩니다.

offset: 일반적으로 대상 문자열의 시작 부분부터 검색이 시작됩니다. 선택적 매개변수 offset은 대상 문자열의 지정된 위치에서 검색을 시작하는 데 사용됩니다(단위는 바이트).

반환 값

완전히 일치하는 항목 수(0일 수도 있음)를 반환하거나, 오류가 발생하면 FALSE를 반환합니다.

태그와 일치하는 콘텐츠 찾기: (보통 $pat_array[1]을 얻음)

<?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]);
?>
로그인 후 복사

실행 결과는 다음과 같습니다.

Array
(
    [0] => <b>PHP</b>
    [1] => <b>Programming Language</b>
)
로그인 후 복사

d.preg_replace() 함수

preg_replace 함수는 정규식 검색 및 바꾸기를 수행합니다.

Syntax

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
로그인 후 복사

주제에서 패턴과 일치하는 부분을 검색하여 교체로 대체합니다.

매개변수 설명:

$pattern: 검색할 패턴으로, 문자열 또는 문자열 배열일 수 있습니다.

$replacement: 대체에 사용되는 문자열 또는 문자열 배열입니다.

$subject: 검색하고 바꿀 대상 문자열 또는 문자열 배열입니다.

$limit: 선택사항, 패턴당 각 주제 문자열의 최대 대체 수입니다. 기본값은 -1(제한 없음)입니다.

$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);
?>
로그인 후 복사

执行结果如下所示:

runoob 123,456
로그인 후 복사

删除空格字符

<?php
$str = &#39;runo o b&#39;;
$str = preg_replace(&#39;/\s+/&#39;, &#39;&#39;, $str);
// 将会改变为&#39;runoob&#39; echo $str;
?>
로그인 후 복사

执行结果如下所示:

runoob
로그인 후 복사

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

<?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);
?>
로그인 후 복사

执行结果如下所示:

The bear black slow jumped over the lazy dog.
로그인 후 복사

使用参数 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
?>
로그인 후 복사

执行结果如下所示:

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 = &#39;runoob&#39;;
$chars = preg_split(&#39;//&#39;, $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
로그인 후 복사

执行结果如下所示:

Array
(
    [0] => r
    [1] => u
    [2] => n
    [3] => o
    [4] => o
    [5] => b
)
로그인 후 복사

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

<?php
$str = &#39;hypertext language programming&#39;;
$chars = preg_split(&#39;/ /&#39;, $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. 이메일 주소:
^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, 인터넷URL:
[a-zA-z]+://[^s]* 또는 ^http://([w-]+.)+[w-]+(/[w-. / ?%&=]*)?$
4, 휴대폰 번호:
^(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 , 전화번호 ("XXX-XXXXXXX", "XXXX-XXXXXXXX", " XXX- XXXXXXX", "XXX-XXXXXXXX", "XXXXXXX" 및 "XXXXXXXX):
^((d{3,4}-)|d{3.4}-)?d{7,8}$
6 국내 전화 번호( 0511-4405222, 021-87888822):
d{3}-d{8}|d{4}-d{7}
7, ID 번호:
15 또는 18자리 ID 카드:
^d{15 } |d{18}$
15자리 신분증:
^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d) |3 [0-1])d{3}$
18자리 신분증:
^[1-9]d{5}[1-9]d{3}((0d)|(1[0- 2]) )(([0|1|2]d)|3[0-1])d{4}$
8. 짧은 ID 번호(숫자, x로 끝나는 문자):
^([0-9 ]){ 7,18}(x| 법적(문자로 시작, 5-16바이트 허용, 영숫자 밑줄 허용):
^[a-zA-Z][a-zA-Z0-9_]{4,15 }$
10, 비밀번호(문자로 시작, 길이 6~18, 문자, 숫자, 밑줄만 포함할 수 있음):
^[a-zA-Z]w{5,17}$
11, 강력한 비밀번호( 대문자, 소문자 및 숫자 조합을 포함해야 함), 특수 문자는 사용할 수 없으며 길이는 8-10):
^(?=.*d)(?=.*[a-z])(?=. *[A-Z]).{8,10}$
12. 날짜 형식:
^d{4}-d{1,2}-d{1,2}
13. 12개월(01~09) 및 1~12):
^(0?[ 1-9]|1[0-2])$
14, 매월 31일(01~09 및 1~31):
^((0?[ 1-9])|((1|2) [0-9])|30|31)$
15. 화폐 입력 형식:
16. 1. 허용되는 화폐 표시 형식에는 "10000.00 " 및 "10,000.00", "센트"가 없는 "10000" 및 "10,000":
^[1-9][0-9]*$
17. 2. 이는 0으로 시작하지 않는 모든 숫자를 의미합니다. 하지만 이는 문자 "0"이 전달되지 않는다는 의미이기도 하므로 다음 형식을 사용합니다:
^(0|[1-9][0-9]*)$
18, 3. 0 또는 숫자 0으로 시작하지 않습니다. 시작 부분에 숫자를 허용할 수도 있습니다. 음수 기호:
^(0|-?[1-9][0-9]*)$
19, 4. 이는 0 또는 숫자를 나타냅니다. 음수일 수 있으며 0으로 시작하지 않습니다. 사용자가 0으로 시작하도록 하세요. 음수 기호도 제거해 보겠습니다. 다음에 추가해야 할 것은 소수 부분입니다.
^[0 -9]+(.[0-9]+)?$
20, 5. 주의할 점은 소수점 이하 1자리 이상 있어야 하므로 "10."은 넘어가지 않고 "10"입니다. 및 "10.2"가 전달됩니다:
^[0-9]+( .[0-9]{2})?$
21. 이런 식으로 소수점 이하 두 자리가 있어야 함을 규정합니다. . 너무 가혹하다고 생각되면 다음과 같이 할 수 있습니다:
^[0-9]+(.[0- 9]{1,2})?$
22. 이렇게 하면 사용자는 하나만 쓸 수 있습니다. 이제 숫자의 쉼표를 고려해야 합니다.
^[0-9]{1,3 }(,[0-9]{3})*(.[0-9]{ 1,2})?$
23, 8.1~3자리 숫자, 그 뒤에 쉼표 + 3자리 숫자, 쉼표가 허용됨 선택 사항, 필수 아님:
^([0-9]+|[0-9]{1,3 }(,[0-9]{3})*)(.[0-9]{1,2 })?$
24. 참고: 이것이 최종 결과라는 점을 잊지 마세요. 빈 문자열이 허용된다고 생각되면 "*"로 바꿉니다(이상한 이유는 무엇입니까?) 마지막으로 기능 중에 백슬래시 제거를 사용하는 것을 잊지 마십시오. 일반적인 오류는 여기에 있습니다
25, xml 파일:
^([a- zA-Z]+-?)+[a-zA-Z0-9]+\.[x | 내에서 문자열 길이를 계산하는 데 사용할 수 있습니다(2바이트 문자의 길이는 2로 계산됩니다. ASCII 문자의 길이는 1로 계산됩니다.)
28. 빈 줄에 대한 정규식: ns*r(빈 줄을 삭제하는 데 사용할 수 있음)
29. HTML 태그에 대한 정규식:
<(S*?) [^>]*>.*?|<.*? /> (인터넷에 떠돌고 있는 버전이 너무 안좋아서 위의 버전은 부분적으로만 작동할 수 있고 여전히 작동할 수 있습니다.' 복잡하게 중첩된 태그에 대해서는 아무 작업도 수행할 수 없습니다)
30. 선행 및 후행 공백 문자의 정규 표현식: ^s*|s*$ 또는 (^s*)|(s*$) (줄을 삭제하는 데 사용할 수 있음 첫 번째 줄 끝(공백, 탭, 폼 피드 등 포함), 매우 유용한 표현)
31, Tencent QQ 번호: [1-9][0-9]{4,} (Tencent QQ 번호는 10000부터 시작) )
32, 중국 우편번호: [1-9]d{5}(?!d) (중국 우편번호는 6자리)
33, IP 주소: d+.d+.d+.d+ ( IP 주소 추출 시 유용함)

위 내용은 PHP 규칙성에 대한 내용 요약(상세)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!