Ruby 使用正则表达式在_italic_uuu和其他一些函数之间进行提取

Ruby 使用正则表达式在_italic_uuu和其他一些函数之间进行提取,ruby,regex,Ruby,Regex,我正在编写代码来提取(italic,--bold--)字符之间的一些数据。(与SO评论功能非常相似) 我实际上为此编写了方法(使用循环和检查字符),但我想知道是否可以使用Regex重新编写该方法 我试过Rubular,但我不太擅长正则表达式: 这对italic很有效,但我认为它不是使用所有其他特殊字符(比如——可能还有其他字符)的好解决方案 是否可以通过1匹配调用和正则表达式来实现这一点,或者我必须为每个特殊格式字符指定特殊正则表达式?当然可以。下面是一个可以使用的漂亮构造:(uuu|-)((?

我正在编写代码来提取(italic,--bold--)字符之间的一些数据。(与SO评论功能非常相似)

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

我试过Rubular,但我不太擅长正则表达式:

这对italic很有效,但我认为它不是使用所有其他特殊字符(比如——可能还有其他字符)的好解决方案


是否可以通过1匹配调用和正则表达式来实现这一点,或者我必须为每个特殊格式字符指定特殊正则表达式?

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

演示+解释:


您关注的内容每次都会出现在第二个反向引用中。

谢谢!它看起来很有效,但你认为有没有办法也能做到以下几点:
\uu**word1**\u \
->word1ok nevermind,即使如此也不能转换:)所以我认为你的就足够了
regex: _{2}([^_]*)_{2}
text: __word1__ not_italic __a__ --bolder--