Visual Studio Regex'?'

Tha*_*tos 5 regex visual-studio

MSVS:正则表达式在哪里 ?

我有一些代码,我试图在MSVS 2008中与正则表达式匹配,但我无法弄清楚它的正则表达式.拿经典的例子:

colou?r
Run Code Online (Sandbox Code Playgroud)

...这是一个匹配color或的正则表达式colour.这在MSVS中都不匹配.参考帮助文件,我找不到?.

这不是什么大问题 - 它可以通过交替模拟:

colo(u|)r
Run Code Online (Sandbox Code Playgroud)

但是,我得到"Grouped expression is missing')'."......这是......不是.奇怪的是,MSVS有这些备用组(我不确定为什么......)用花括号:

colo{u|}r
Run Code Online (Sandbox Code Playgroud)

这给了我一个完全不同的错误"模式中的语法错误."......其中,我没有看到一个.基本上,我该怎么做??我的实际输入并不像颜色/颜色那么简单,否则我只是假装它(color|colour).我想可以伪造它,但这是一种消除它的一种迟钝的方式.


让我们尝试交替然后......

好吧,即使交替进行,我仍然无法做到.我有以下两个正则表达式:

^[A-Z]+\t[0-9]+\t[^\t]+

^[A-Z]+\t[0-9]+\t[^\t]+\t[^\t]+

那两个匹配的两组线分别匹配我的文本.(第一个匹配与第二个匹配的部分行.)

我的输入是货币信息行:

BZD 084 Belize dollar
CAD 124 Canadian dollar
CDF 976 Franc Congolais
CHE 947 WIR euro    (complementary currency)
CHF 756 Swiss franc
CHW 948 WIR franc   (complementary currency)
CLF 990 Unidad de Fomento   (funds code)

(例如,在WIR欧元和(补充货币)之间有标签,但它们并不总是存在.)

从逻辑上讲,它应该遵循这个结合

^[A-Z]+\t[0-9]+\t[^\t]+

^[A-Z]+\t[0-9]+\t[^\t]+\t[^\t]+

..你得... ^ [AZ] +\t [0-9] +\t([^\t] + | [^\t] +\t [^\t] +)...以某种方式似乎等同于第一组中的第二个表达式.

Wel*_*bog 4

我们自己的杰夫·阿特伍德不久前写过这一点。基本上,Visual Studio 的正则表达式实现非常不标准,并且没有直接的方法来完成通常使用“ ?”完成的操作。你必须使用你的{colour|color}表达方式。