我被困住了。我用正则表达式尝试了它,但我想我错过了一些东西。我正在使用JavaScript。
我有一个输入:
(text [number]) the text that follows...
我想输出如下:
[number] the text that follows...
我用substr
尝试过,但我的问题是我不知道括号中文本或数字的长度。我想我需要数字开头和结尾的位置才能使用regEx。
你有个主意吗?
答案 0 :(得分:0)
有一个真实的例子,但我做了一个......
文本:
(Some text 1234) some more text.
正则表达式:
^.+?(?<Number>\d+)\)(?<Text>.+)$
的更换:
${Number}${Text}
完整示例:
var fixedText = "(Some text 1234) some more text.".replace(/^.+?(?<Number>\d+)\)(?<Text>.+)$/, "${Number}${Text}");
答案 1 :(得分:0)
匹配(text [number]) the text that follows...
的正则表达式可以是:
"^\(.*?([0-9]*)\)(.*)$"
或者您可以匹配开头(和结尾)
)并将其删除
"^(\(.*?)[0-9]*(\)).*$"
答案 2 :(得分:0)
正则表达是可行的方法 - 使用JavaScript的replace
函数,您无需在字符串中摆弄数字的位置。
试试这个:
var geoff = '(text 694) the text that follows...';
var geoff_replaced = geoff.replace(/\([^0-9]* ([0-9]*)\)/, '$1');
# geoff_replaced will be "694 the text that follows...
我没有做很多JavaScript正则表达式的东西,所以我在本指南中完全看了上面的JavaScript正则表达式: