Javascript 正则表达式:在第一个位置将字符串一分为二$

Javascript 正则表达式:在第一个位置将字符串一分为二$,javascript,regex,split,Javascript,Regex,Split,我有一个字符串,可以导入到javascript应用程序中。它包括: 此处文本括号中的一些文本$Price 我想把这个字符串分成三个字符串:开始部分、括号和价格 我知道这可能涉及正则表达式,但我现在不希望解决这个问题。有人有什么建议吗 谢谢 试试这个: [\w\s]+[\w\s]+\$\w+ 假设当你说文本时,它是数字。如果要允许使用标点符号,请修改[\w\s]使其也包含标点符号。e、 g.要包含逗号->[\w\s,].请尝试以下操作: [\w\s]+[\w\s]+\$\w+ 假设当你说文本时,它

我有一个字符串,可以导入到javascript应用程序中。它包括:

此处文本括号中的一些文本$Price

我想把这个字符串分成三个字符串:开始部分、括号和价格

我知道这可能涉及正则表达式,但我现在不希望解决这个问题。有人有什么建议吗

谢谢

试试这个:

[\w\s]+[\w\s]+\$\w+

假设当你说文本时,它是数字。如果要允许使用标点符号,请修改[\w\s]使其也包含标点符号。e、 g.要包含逗号->[\w\s,].

请尝试以下操作:

[\w\s]+[\w\s]+\$\w+

假设当你说文本时,它是数字。如果要允许使用标点符号,请修改[\w\s]使其也包含标点符号。e、 g.包括逗号->[\w\s,]

给你:

["Text here (some text in parenthesis) $33.55", "Text here", "(some text in parenthesis)", "$33.55"]
匹配项[1]、匹配项[2]和匹配项[3]包含您想要的内容

var match = "Text here (some text in parenthesis) $Price".match(/(.+)(\(.+\))(.+)/);
match[1], match[2], match[3];
给你:

["Text here (some text in parenthesis) $33.55", "Text here", "(some text in parenthesis)", "$33.55"]
匹配项[1]、匹配项[2]和匹配项[3]包含您想要的内容

var match = "Text here (some text in parenthesis) $Price".match(/(.+)(\(.+\))(.+)/);
match[1], match[2], match[3];
或使用拆分请参见:

最好学点正则表达式,你不觉得吗

或使用拆分请参见:

最好学点正则表达式,你不觉得吗


在没有正则表达式的情况下,这可以工作:

var part1 = mystring.substring(0, mystring.indexOf('('));
var part2 = mystring.substring(mystring.indexOf('(') + 1, mystring.indexOf(')'));
var part3 = '$' + mystring.split('$')[1];
示例/演示:

更新:


在没有正则表达式的情况下,这可以工作:

var part1 = mystring.substring(0, mystring.indexOf('('));
var part2 = mystring.substring(mystring.indexOf('(') + 1, mystring.indexOf(')'));
var part3 = '$' + mystring.split('$')[1];
示例/演示:

更新:


这些都很棒!但是,如果没有括号组件,我想跳过中间的一个,而没有括号组件,或者输入null值,该怎么办?我只是做一个if语句吗?这些都很棒!但是,如果没有括号组件,我想跳过中间的一个,而没有括号组件,或者输入null值,该怎么办?我只是做一个if语句吗?这是完美的,它有正则表达式!如果,比如说,括号中没有文本,这会起作用吗?现在还不能保证会有括号。有什么建议吗?只需将\.+\更改为\.*\。现在开始。将匹配0次或更多次,以便匹配括号中没有文本的情况。如果您想让它匹配,即使没有括号,您也可以将它更改为\.\?,它将匹配整个捕获组0或1次。因此,这将处理可能没有括号文本的情况。这是完美的,它有正则表达式!如果,比如说,括号中没有文本,这会起作用吗?现在还不能保证会有括号。有什么建议吗?只需将\.+\更改为\.*\。现在开始。将匹配0次或更多次,以便匹配括号中没有文本的情况。如果您想让它匹配,即使没有括号,您也可以将它更改为\.\?,它将匹配整个捕获组0或1次。因此,这将处理可能没有括号文本的情况。