拆分基本数学公式

时间:2015-08-30 15:27:26

标签: ruby regex string

我想将 <script src="https://maps.googleapis.com/maps/api/js?v=3"></script> <div id="map"></div>分为三个部分:"Hello=World""Hello""="。其他数学运算符如"World""<"">="也可能会被使用。

3 个答案:

答案 0 :(得分:5)

"Hello=World".partition(/[=<>]+/)
# => ["Hello", "=", "World"]

"Hello=World".split(/([=<>]+)/)
# => ["Hello", "=", "World"]

答案 1 :(得分:1)

使用string.scan功能分别匹配一个或多个单词或非单词字符。

'Hello=World'.scan(/\w+|\W+/)
# => ["Hello", "=", "World"]
'Hello<=World'.scan(/\w+|\W+/)
# => ["Hello", "<=", "World"]

答案 2 :(得分:1)

这里,简单

(\w+)(=|<=|>=|>|<|<>)(\w+)

要在Ruby中使用正则表达式,您可以使用=~运算符,例如

"Hello=World" =~ /(\w+)(=|<=|>=|>|<|<>)(\w+)/

因此,您将根据(...)通过变量$1$2$3获取您捕获的文字。

$1 = "Hello"
$2 = "="
$3 = "World"

简单吧!

同样,您也可以将其与String Partition一起使用。

"Hello=World".partition(/=|<=|>=|>|<|<>/)
# which get => ["Hello", "=", "World"]

在这里你可以添加更多你想要的数学运算符(=|<=|>=|>|<|<>|...)

请参阅:DEMO