在学php表单验证的时候看见了一长串乱码(准确来说不是乱码,是我看不懂)
/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~|!:,.;]*[-a-z0-9+&@#\/%=~|]/i
然后搜索才发现这是js里的正则表达式的内容,囫囵吞枣果然不行,所以稍微记一下,做个纪念
正则表达式是一种用于匹配和操作字符串的工具,它使用特定的语法来描述模式。下面是一些常见的正则表达式语法:
字符匹配:
普通字符:直接匹配文本中的字符。
元字符:具有特殊含义的字符,如.、*、?等。
转义字符:用于匹配具有特殊含义的字符,如\、^、$等。字符类:
方括号([]):匹配方括号中的任意一个字符。
横线(-):匹配指定范围内的字符,如[a-z]匹配任意小写字母。重复限定符:
*:匹配前一个元素0次或多次。
+:匹配前一个元素1次或多次。
?:匹配前一个元素0次或1次。
{n}:匹配前一个元素恰好n次。
{n,}:匹配前一个元素至少n次。
{n,m}:匹配前一个元素至少n次,最多m次。边界匹配:
^:匹配字符串的开始位置。
$:匹配字符串的结束位置。
\b:匹配单词的边界。分组和捕获:
( ):将多个元素组合为一个单元。
|:匹配多个选择项,类似于逻辑或。
\1, \2, …:引用前面的分组匹配结果。预定义字符类:
\d:匹配任意数字字符。
\w:匹配任意字母、数字或下划线字符。
\s:匹配任意空白字符。
这只是正则表达式语法的一小部分,还有很多其他的语法规则和特性。使用正则表达式时,可以根据具体需求和匹配规则进行组合和使用。