正则表达式:如何在两个引号之间找到逗号

时间:2016-05-04 09:34:25

标签: regex sublimetext2

我需要找到两个引号之间的点,并用逗号替换它。

我正在尝试这个

\".*?\"

但它会在引号之间找到所有内容。

我需要将类似“100,21 $”的内容转换为此“100.21 $”

2 个答案:

答案 0 :(得分:0)

通常,您可以首先匹配引用的子字符串

"[^"]+"

然后将.替换为匹配块中的,(在回调或后处理方法/函数中)。

或者,您可以使用捕获+反向引用:

"(\d*),(\d+\$)"

替换为"$1.$2"(其中$1是使用(\d*)捕获的文本,而$2是使用(\d+\$)捕获的值。请参阅this demo

答案 1 :(得分:-1)

如果您的字符串很简单,例如:"100,21$" 您可以简单地使用此代码:

str = str.replace(/,/g,'.');

如果它有点复杂,如:

Here is an "example" of "100,21$" price, I am a string

您可以使用:

str = str.replace(/"(\d+),(\d+)(.*?)"/g,'"$1.$2$3")

如果要测试,请使用Regexr链接: http://regexr.com/3dbo5

nb:我写了这个例子,但你可以在另一个语言中使用正则表达式和字符串模式