正则表达式 ---- 模式匹配

yaoString 2005-02-04 12:55:51
正则表达式中的(),(?:),(?!),(?=)... 等有什么区别?
...全文
262 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
linuxyf 2005-02-21
  • 打赏
  • 举报
回复
() : Match the regular expression below and capture its match into backreference number 1
(?:) : Match the regular expression below
(?!) : Assert that it is impossible to match the regex below starting at this position (negative lookahead)
(?=) : Assert that the regex below can be matched, starting at this position (positive lookahead)
噯卟釋手 2005-02-05
  • 打赏
  • 举报
回复
up
amendajing 2005-02-04
  • 打赏
  • 举报
回复
mark
噯卟釋手 2005-02-04
  • 打赏
  • 举报
回复
up
liulxmooo 2005-02-04
  • 打赏
  • 举报
回复
up
liduke 2005-02-04
  • 打赏
  • 举报
回复
( )
捕获匹配的子字符串(或非捕获组;有关更多信息,请参阅正则表达式选项中的 ExplicitCapture 选项。)使用 () 的捕获根据左括号的顺序从 1 开始自动编号。捕获元素编号为零的第一个捕获是由整个正则表达式模式匹配的文本。
(?: )
非捕获组。
(?= )
零宽度正预测先行断言。仅当子表达式在此位置的右侧匹配时才继续匹配。例如,\w+(?=\d) 与后跟数字的单词匹配,而不与该数字匹配。此构造不会回溯。
(?! )
零宽度负预测先行断言。仅当子表达式不在此位置的右侧匹配时才继续匹配。例如,\b(?!un)\w+\b 与不以 un 开头的单词匹配。
jialiang 2005-02-04
  • 打赏
  • 举报
回复
up
wj2929 2005-02-04
  • 打赏
  • 举报
回复
下载
http://www.oceanstudio.net/sps/Lists/List2/Attachments/1/js55.rar
在其中有很详细的正则表达式方面的解释
cym40011 2005-02-04
  • 打赏
  • 举报
回复
(pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在 JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 '\(' 或 '\)'。
(?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。
(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。
(?!pattern) 负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧