如何在正则表达式中嵌入变量名
本文关键字:变量名 正则表达式 | 更新日期: 2023-09-27 18:22:44
我正在做一些正则表达式,下面是perl中的工作表达式
$_ =~ /^([^_]+)_[^,]+,"$from_date'-['d'/]+","['d'/]*",
"([^"]*)","([^"]*)","([^"]*)","[^"]+"$/x
用于将该行与2013年10月7日至2013年11月7日的某个位置进行匹配,因此例如,此处from_date=07/10/2013。
现在我想在C#中复制同样的东西,但C#没有$符号,所以from_date不会作为变量读取。我该如何更改上面的内容,即如何在regex中嵌入现有的变量名,使其不会被读取为字符串。我尝试了一些引号和使用+号,但它不起作用
只需连接字符串。
var rx = new Regex("^([^_]+)_[^,]+," + fromDate + "…the rest…");
或者,使用string.Format
。我倾向于发现这个更可读:
var rx = new Regex(string.Format("^([^_]+)_[^,]+,{0}…the rest…", fromDate);