使用Ruby的波斯语正则表达式

时间:2014-01-23 13:29:50

标签: ruby regex farsi

我对Ruby知之甚少,但我有这行代码,我想知道它到底是做什么的:

newline.gsub!(/\s+(های)\s+/,'‌\1 ')

我很感激你的帮助。

2 个答案:

答案 0 :(得分:1)

正则表达式匹配,如果一个字符串包含波斯语短语,其周围有一个或多个空白字符(在前面和后面)。

然后用字符串\1替换它。 \1引用第一个匹配的元素。因此,它会删除字符串周围的所有空格,并在元素后面添加一个空格。

示例

我正在使用值test而不是Parsi短语,因为unicode没有用完。

newline = "    test   "
=> "    test   "
newline.gsub!(/\s+(test)\s+/,'\1 ') 
=> "test "

答案 1 :(得分:1)

documentation说:

gsub!(pattern, replacement) → str or nil

因此,如果替换字符串与模式匹配,则表达式将返回替换字符串,否则返回nil。 (基本上删除 farsi 字符串之前的所有空格,并用单个空格替换后面的空格。)