正则表达式替换斜杠或忽略

时间:2014-06-25 17:35:58

标签: regex replace ignore

我的特定文字如下所示:

CLIA ID:  
Rapid Strep Test w/reflex culture

我的正则表达“快速Strep Test w / reflex culture” 看起来像这样

(?<=CLIA\s*ID:\s*\n)[a-zA-Z_0-9 /]{1,30}

这是我的问题,我的程序实际上抓取文本然后使用文本它重命名输入文件与它抓取的内容。坏的是发送系统不能发送/并且我们都知道我不能在Windows中用斜杠命名文件。有没有办法让我抓住前30个字符,如果它找到/任何地方用空格替换它?我甚至可以使用REGEX找到/将其保留在捕获中,但在输出中将其排除,因此最终结果将类似于

Rapid Strep Test wreflex culture

(当然我最多30个字符)。但最终我希望它输出

Rapid Strep Test w reflex culture

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

&#34;在理论计算机科学和形式语言理论中,正则表达式(缩写为regex或regexp)是一系列形成搜索模式的字符,主要用于与字符串进行模式匹配,或字符串匹配&#34 ; - Wikipedia, Regular Expressions

我不认为只使用Regex这样做。

如果您使用的是.NET,则可以使用String replace method将所有出现的子字符串替换为不同的子字符串。这可能就是你要找的东西。

答案 1 :(得分:0)

这是使用回调函数在JavaScript中进行解决方案的一个小尝试。许多其他语言也可以采用相同的方法

text.replace(
    /CLIA\s*ID:\s*\n([\w\s]{1,30}).*/,
    function(s) {return s.replace('/', ' ');}
);