Regex in repository

URL匹配后缀部分可能会有特殊字符无法匹配

1
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?

URL更简洁的匹配,后缀部分匹配宽泛不精细

1
[\w\-_/:%]+(\.[\w\-_]+)+([\u0021-\u007e]*)?

找到前是linux换行,后不是’320500’的光标

1
\n(?!320500)

找到后不是’create’的windows换行。即\r\n(?!create)

1
(?!(\r\ncreate))\r\n

找到后不是’地址行’的换行,清除,清除前后即URL

1
2
3
(?!(\n.*java\.html))\n.*
(?<=(\.html))".*
.*(?<=")

平衡组匹配???

1
2
(?'Open'\()[2-9][0-9]{2}(?'-Open'\))\s?[0-9]{3}-[0-9]{4}(?(Open)(?!))|[2-9][0-9]{2}(-|\.)[0-9]{3}\1[0-9]{4}
<div[^>]*>[^<>]*(((?'Open'<div[^>]*>)[^<>]*)+((?'-Open'</div>)[^<>]*)+)*(?(Open)(?!))</div>

格式化单行xml格式报文

1
(?<=>)(?=<(?!\/))

找非词组空格

1
(?<![a-z,A-Z])|(?![a-z,A-Z])

找到后面是空行的换行符

1
\r\n(?<=^$)

匹配中文字符

1
[\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内)

1
[^\x00-\xff]

匹配空白行

1
\n\s*\r

匹配Email地址

1
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

匹配网址URL

1
[a-zA-z]+://[^\s]*

匹配国内电话号码

1
\d{3}-\d{8}|\d{4}-\{7,8}

匹配QQ号

1
[1-9][0-9]{4,}

匹配中国邮政编码

1
[1-9]\d{5}(?!\d)

匹配18位身份证号

1
^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$

匹配(年-月-日)格式日期

1
([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))

匹配正整数

1
^[1-9]\d*$

匹配负整数

1
^-[1-9]\d*$

匹配整数

1
^-?[1-9]\d*$

匹配非负整数(正整数 + 0)

1
^[1-9]\d*|0$

匹配非正整数(负整数 + 0)

1
^-[1-9]\d*|0$

匹配正浮点数

1
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$

匹配负浮点数

1
^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$