(?(expression)yes|no)
如果表达式在此位置匹配,则与“yes”部分匹配;否则,与“no”部分匹配。“no”部分可省略。表达式可以是任何有效的子表达式,但它将变为零宽度断言,因此该语法等效于 (?(?=expression)yes|no)。请注意,如果表达式是命名组的名称或捕获组编号,则替换构造将解释为捕获测试(在本表的下一行对此进行了描述)。若要避免在这些情况下产生混淆,则可以显式拼出内部 (?=expression)。
-------------------------------------------------------------
以上是msdn的解释
我用以下例子
匹配模式(?(?=a)tt|bbb)
匹配字符串 atta匹配结果 <空>
按我的预想得出tt
----------------------------------------------------------请各位说说自己的理解,谢谢
如果表达式在此位置匹配,则与“yes”部分匹配;否则,与“no”部分匹配。“no”部分可省略。表达式可以是任何有效的子表达式,但它将变为零宽度断言,因此该语法等效于 (?(?=expression)yes|no)。请注意,如果表达式是命名组的名称或捕获组编号,则替换构造将解释为捕获测试(在本表的下一行对此进行了描述)。若要避免在这些情况下产生混淆,则可以显式拼出内部 (?=expression)。
-------------------------------------------------------------
以上是msdn的解释
我用以下例子
匹配模式(?(?=a)tt|bbb)
匹配字符串 atta匹配结果 <空>
按我的预想得出tt
----------------------------------------------------------请各位说说自己的理解,谢谢
解决方案 »
- (winform)splitcontainer panel1和panel2 中间有空白怎么去掉。。
- 后台调用前台js函数的问题
- 怎样开启SqlServer远程登录???
- checkbox赋值问题????
- 显式/隐式转换只能定义一个吗.
- 求助大虾
- 编译后安装到其他机子。程序提示:failed to load resources from resource file please check your setup,请问是什么原因!?谢谢1
- 关于读取数据库表结构的问题,请大家多帮忙
- 大虾,怎样才能在一个form或panel中自由的融入别的Form
- 求助:用C#做一个简单的数据库应用程序(100分)
- 初次看CrystalReportViewer,很多东西不知道,大侠能解释下吗?
- 用vs2005的vsto开发excel,使得excel中的某些列为只读,这个要怎么弄,大侠们帮帮我!
(?(a)att|bbb)
?(a)当为a时候时候要求配合att 当不为a要求匹配bbb例1:att
正则(?(a)att|bbb)
捕获 1 :
att
==============================华丽的分隔线===============================例2:bbb123
正则(?(a)att|bbb)
捕获 1 :
bbb
==============================华丽的分隔线===============================
用(?<=a)(tt|bbb)
匹配字符串为batt
为什么匹配结果为空?难道说expression的内容一定要是yes-expression部分的开头?
比如(?(ba)batt|bbb)
babatt
可以捕获batt
???
匹配字符串为batt
为什么匹配结果为空?
====================
(?(b)att|bbb)
这(b)里的b只是判断 不做匹配
必须(?(b)batt|bbb)
==========
也可以不
例子:
开始你好吗?
开始我可以吗?
开始你神经病吗?
开始我随便吗?
正则:(?(?<=你)好|我可以)吗
捕获 1 :
好吗
==============================华丽的分隔线===============================
捕获 2 :
我可以吗
==============================华丽的分隔线===============================
petshop4(世界上有10种人,一种懂得什么是二进制 ,一种不懂) ( ) 信誉:100
客气了 一起研究 一起学习