liwension
承接Qt Uniapp各种项目开发服务与咨询
展开
-
解析 URL字符串的正则表达式:/^(\w+):\/\/([^\/?#]+)([^?#]*)(\?[^#]*)?(#.*)?$/讲解
解析 URL(统一资源定位符)字符串 讲解原创 2024-11-14 09:52:46 · 82 阅读 · 0 评论 -
正则表达式基础
6. 匹配开头和结尾:要匹配字符串的开头和结尾,可以使用“^”和“$”。例如,“/^hello$/”只匹配包含完整单词“hello”的字符串。例如,要匹配字符串中的字母“a”,可以使用正则表达式“/a/”。4. 匹配零个或多个:要匹配零个或多个前面的字符,可以使用“*”。例如,“/a*/”可以匹配零个或多个字母“a”。5. 匹配一个或多个:要匹配一个或多个前面的字符,可以使用“+”。例如,“/a+/”可以匹配一个或多个字母“a”。例如,“/\w+/”可以匹配一个或多个单词字符。原创 2024-11-20 17:08:55 · 74 阅读 · 0 评论 -
正则表达式使用负向零宽断言来避免重复匹配
正则表达式使用负向零宽断言来避免重复匹配原创 2024-11-22 11:10:34 · 61 阅读 · 0 评论 -
正则表达式利用负向零宽断言举例
在正则表达式中,负向零宽断言(negative lookahead)和负向后行断言(negative lookbehind)是两种非常有用的模式,它们允许你指定在某个位置之前或之后不能出现某个模式。然而,需要注意的是,不是所有的正则表达式引擎都支持后行断言,特别是某些较旧或简化的实现(比如JavaScript在ES2018之前的版本)。由于Qt的限制,我们可能需要写更多的代码来手动处理这种情况,而不是依赖一个复杂的正则表达式。由于Qt的正则表达式引擎不支持后行断言,我们需要使用一种不同的方法。原创 2024-11-25 15:09:20 · 62 阅读 · 0 评论 -
匹配字符的元字符
匹配任意的空白字符,如空格、制表符、换行符、中文全角空格等。匹配单词字符(包括字母、数字、下画线和汉字)匹配除换行符之外的任意字符。匹配任意的非单词字符。匹配任意的非空白字符。匹配任意的非数字字符。原创 2024-12-03 15:22:22 · 37 阅读 · 0 评论 -
匹配位置的元字符
在插入字时使用,只匹配一个位置,匹配行的开始。在插入字时使用,只匹配一个位置,匹配行的结尾。也匹配一个位置,可以匹配单词的开始或结尾。原创 2024-12-03 15:31:55 · 33 阅读 · 0 评论 -
字符类匹配
在正则表达式中,元字符通常一次只能匹配一个位置或字符集合中的一个字符。通常情况下,如果要匹配数字、字母、空白等字符时,可以直接使用与这些集合相对应的元字符。然而,如果要匹配的字符集合(如集合[0,1,2,3,4,5])没有与之相对应的元字符时,则需要自定义匹配的字符集合。字符类是一个字符集合,如果该字符集合中的任何一个字符被匹配,则它就会找到该匹配项。最简单的字符类由方括号“[]”和一个字母表构成,如元音字符类[aeiou]。以下正则表达式[0123456]匹配数字0、1、2、3、4、5、6中的任何一个。原创 2024-12-03 15:47:35 · 35 阅读 · 0 评论 -
字符转义讲解
由于这些字符在正则表达式中被解释成其他的指定的意义,如果需要匹配这些字符,则需要使用字符转义来解决这一问题。转义字符为\,它可以取消这些字符(如。正则表达式的常用转义字符的说明如下所示。其中,除.、$、^、{、[、(、|、)、*、+、?、\之外的字符不需要进行转义,它们都表示字符本身。www\.baidu\.com正则表达式匹配字符串www.baidu.com。正则表达式定义了一些特殊的元字符,如。等)在表达式中具有的特殊意义。原创 2024-12-03 16:10:18 · 54 阅读 · 0 评论 -
限定符使用
正则表达式的元字符一次一般只能匹配一个位置或一个字符,如果想要匹配零个、一个或多个字符时,则需要使用限定符。限定符用于指定允许特定字符或字符集自身重复出现的次数。正则表达式字符类[^>]匹配除过“>”之外的任何字符。正则表达式匹配“13”开头,后连续12个数字的字符串。原创 2024-12-03 17:01:09 · 334 阅读 · 0 评论 -
字符运算-并行 “|”
能够匹配用连接符号连接的8位数字字符串或者5位的数字字符串。因为,该表达式首先尝试匹配用连接符号连接的8位数字字符串,只有当未匹配时,才匹配5位的数字字符串。使用字符“|”表示,它表示如果某一个字符串匹配了正则表达式中的字符“|”的左边或者右的规则,那么该字符串也匹配了该正则表达式。字符“|”在匹配表达式时,首先匹配|字符的左侧部分,当左侧部分不匹配时,它才尝试匹配“|”字符的右侧部分。只能匹配5位的数字字符串,而不会匹配用连接符号连接的8位数字字符串。原创 2024-12-03 17:18:46 · 41 阅读 · 0 评论 -
字符运算-分组 “(” “)“
分组又称为子表达式,即把一个正则表达式的全部或部分分成一个或多个组。其中,分组使用的字符为“(”和“)”,即左圆括号和右圆括号。分组之后可以将在“(”和“)”之间的表达式看成一个整体来处理。匹配的字符串重复3次,如“1.2.3.”、"12.34.56." . "123.456.789." . "888.899.569." 等。先匹配1~3位的整数,然后匹配一个字符““(点号),如“1.”、“12.”、“123.”、“888.”等。原创 2024-12-03 17:48:57 · 44 阅读 · 0 评论 -
零宽度断言
正则表达式匹配以字符串“ed”结尾的单词的前面部分,即匹配单词的除字符串“ed”之外的部分。正则表达式匹配以字符串“an”开头的单词的后面部分,即匹配单词的除字符串"an"之外的部分。都匹配一个位置,且这个位置满足一定的条件,把满足的这一个条件称为断言或零宽度断言。零宽度正预测先行断言,它断言自身位置的后面能够匹配表达式experssion。零宽度正回顾后发断言,它断言自身位置的前面能够匹配表达式experssion。举例:\b\w+(?原创 2024-12-04 11:48:36 · 61 阅读 · 0 评论 -
负向零宽度断言
零宽度断言只能指定或匹配一个位置。而负向零宽度断言与零宽度断言恰恰相反,它能够指定或匹配不止一个位置,即所说的“反义”。特别是在匹配字符串中不包含指定的字符时,负向零宽度断言特别有用。称为负向零宽度断言或者零宽度负预测先行断言,它断言自身位置的后面不能匹配字符串experssion。称为零宽度负回顾后发断言,它断言自身位置的前面不能匹配字符串experssion。匹配单词字符串,且该字符串中的字符“a”之后不能为字符“b”。匹配长度为3的单词字符串,该字符串之后不能是数字字符串。原创 2024-12-04 17:49:42 · 59 阅读 · 0 评论