正規表現
URL
[a-zA-z]+://[^\s]*IPアドレス(IPAddress)
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)メール(Email)
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*QQ番号
[1-9]\d{4,}HTMLタグ(コンテンツを含む場合または自動閉じ型の場合)
<(.*)(.*)>.*<\/\1>|<(.*) \/>パスワード(数字/大文字/小文字/句読点で構成され、これら4種類の要素をすべて含み、長さが8文字以上)
(?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$日付(年-月-日)
(\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))日付(月/日/年)
((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})時間(時間:分、24時間制)
((1|0?)[0-9]|2[0-3]):([0-5][0-9])漢字(文字)
[\u4e00-\u9fa5]中国語および全角句読点(文字)
[\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]中国本土の固定電話番号
(\d{4}-|\d{3}-)?(\d{8}|\d{7})中国本土の携帯電話番号
1\d{10}中国本土の郵便番号
[1-9]\d{5}中国大陸の身分証明書番号(15桁または18桁)
\d{15}(\d\d[0-9xX])?非負の整数(正の整数または0)
\d+正の整数
[0-9]*[1-9][0-9]*負の整数
-[0-9]*[1-9][0-9]*整数
-?\d+小数
(-?\d+)(\.\d+)?「abc」を含まない単語
\b((?!abc)\w)+\b正規表現とは、ある文法規則に従う一連の文字列を記述または照合するための単一の文字列のことです。簡単に言えば、テンプレートを作成し、それを使って文字列を照合するということです。
以下では、基本的な正規表現の構文について説明します。
次の文字を特別な文字、本来の文字、後方参照、または8進数エスケール記号としてマークします。例えば、「n」は改行文字をマッチングします。
^:マッチングの開始位置を指定します。^(a)では、文字列の先頭が「a」であることを条件としてマッチングします。
$:マッチングの終了位置を指定します。$(a)では、文字列の末尾が「a」であることを条件としています。
前の部分式を0回または複数回マッチングします(例:「xu」)。”这个表达式就能够匹配“x”和“xuu”。
+:匹配前面的子表达式一次或者多次,如“xu+”这个表达式就能够匹配“xuu”和“xu”,但不能够匹配“x”,这个就是和“*”的区别。
?:匹配前面的子表达式零次或者一次,如“xu?”这个表达式就能够匹配“jian(guo)?”就可以匹配“jian”和“jianguo”。
{n}:n是一个非负数,匹配n次,如“guo{2}”,可以匹配“guoo”,不能匹配“guo”。
{n,}:n是一个非负数,匹配至少n次。
{n, m}:m、n都是非负数,最少匹配n次,最多匹配m次。
(pattern):匹配pattern并获取匹配结果。
(?:pattern):匹配pattern但不获取匹配结果。
x|y:匹配x或y,如“(xu|jian)guo”匹配“xuguo”或者“jianguo”。
[xyz]:字符集合,匹配所包含的任意字符。如“[abc]”可以匹配“apple”中的“a”。
1:匹配未被包含的字符。
[a-z]:字符范围,匹配指定范围内的任意字符。
2:匹配指定不在范围内的任意字符。
b:匹配一个单词的边界,如“guob”可以匹配“xujianguo”中的“guo”。
B:匹配非单词边界,如“jianB”可以匹配“xujianguo”中的“jian”。
d:匹配一个数字字符,等价于“[0-9]”。
D:匹配一个非数字字符。
f:匹配一个换页符。
n:匹配一个换行符。
r:匹配一个回车符。
s:匹配任何空白字符
其实还有很多语法我就不一一列举了,先说这么多先
- xyz ↩
- a-z ↩