“正则表达式 非捕获分组”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  (建立内容为“https://www.bilibili.com/video/BV1Eq4y1E79W/?p=14”的新页面)  | 
				Jihongchang(讨论 | 贡献)   | 
				||
| 第1行: | 第1行: | ||
https://www.bilibili.com/video/BV1Eq4y1E79W/?p=14  | https://www.bilibili.com/video/BV1Eq4y1E79W/?p=14  | ||
| + | {| class="wikitable"  | ||
| + | !常用分组构造形式  | ||
| + | !说明  | ||
| + | |-  | ||
| + | |(?:pattern)  | ||
| + | |匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。  | ||
| + | 这对于用 "or"字符(|)组合模式部件的情况很有用。  | ||
| + | |||
| + | 例如,'industr(?:y|ies)' 是比 'industry|industries' 更经济的表达式。  | ||
| + | |-  | ||
| + | |(?=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"  | ||
| + | |}  | ||
2022年11月18日 (五) 11:54的版本
https://www.bilibili.com/video/BV1Eq4y1E79W/?p=14
| 常用分组构造形式 | 说明 | 
|---|---|
| (?:pattern) | 匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。
 这对于用 "or"字符(|)组合模式部件的情况很有用。 例如,'industr(?:y|ies)' 是比 'industry|industries' 更经济的表达式。  | 
| (?=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"  |