使用正则表达式在__italic__和其他一些之间提取

时间:2013-01-06 21:53:04

标签: ruby regex

我正在编写代码以在(斜体, - bold--)字符之间提取一些数据。 (非常类似于SO评论功能)

我实际上为此编写了方法(使用循环和检查字符),但我想知道是否可以使用Regex重写该方法。

我试过Rubular,但我对Regex并不擅长:

这种方式适用于斜体,但我认为它不适合使用所有其他特殊字符(如 - 以及可能的其他字符)

regex: _{2}([^_]*)_{2}
text: __word1__ not_italic __a__ --bolder--

是否可以使用1匹配调用和正则表达式执行此操作,或者是否必须为每个特殊格式字符创建特殊正则表达式?

1 个答案:

答案 0 :(得分:1)

当然可以。这是一个可以使用的漂亮构造:(__|--)((?:(?!\1).)+)\1

演示+解释:http://regex101.com/r/tO4tW1

您所追求的内容每次都会在第二次反向引用中。