Javascript 用于在\sSTUFF中匹配内容的正则表达式\r\n
我得到了一个可怕的ID分隔字符串。每个id由左侧的空格(“”)和右侧的回车('\r')包围。我想拆分这个字符串,并在javascript中获取所有ID 例如:Javascript 用于在\sSTUFF中匹配内容的正则表达式\r\n,javascript,regex,Javascript,Regex,我得到了一个可怕的ID分隔字符串。每个id由左侧的空格(“”)和右侧的回车('\r')包围。我想拆分这个字符串,并在javascript中获取所有ID 例如: “hey\r my\r name\r is”应返回数组[“hey”、“my”、“name”、“is”] 到目前为止,我试过: str.split(/ (.+)\r/g) str.split(/(?:\s)(.+)(?:\r)/) str.split(/\s(.+?=\r)/) 几乎没有用。我用str.split(/(?:\s)(.+)(
“hey\r my\r name\r is”
应返回数组[“hey”、“my”、“name”、“is”]
到目前为止,我试过:
str.split(/ (.+)\r/g)
str.split(/(?:\s)(.+)(?:\r)/)
str.split(/\s(.+?=\r)/)
几乎没有用。我用str.split(/(?:\s)(.+)(?:\r)/)
得到了最接近的结果,但它给了我:
[''嘿',''我的',''名字',''是','']
。
什么是匹配空字符串
与此匹配的正则表达式是什么
编辑:
Id可以有任何其他空白字符,因此这是一个有效的Id:123\t234\n。及
'abc\r 123\n456\t\r'应返回['abc','123\n456\t']
谢谢 那么:
var parts = str.replace(/^\s+|\s+$/g, '').split(/\s+/)
也就是说,删除前导和尾随的空格字符,然后只拆分内部空格字符(并全部使用它们)
如果您只想在
\r
上拆分,则:
.split(/\r +/)
您可以将修剪更改为:
.replace(/^[\r ]+|[\r ]+$/g, '')
那么:
var parts = str.replace(/^\s+|\s+$/g, '').split(/\s+/)
也就是说,删除前导和尾随的空格字符,然后只拆分内部空格字符(并全部使用它们)
如果您只想在
\r
上拆分,则:
.split(/\r +/)
您可以将修剪更改为:
.replace(/^[\r ]+|[\r ]+$/g, '')
也许我不能理解问题的难度,但为什么你不能简单地使用:
str.replace(/^[ ]?|[ ]?$/, "").split("\r ");
对于您的所有示例,它似乎都很有效。也许我不理解问题的难度,但为什么您不能简单地使用:
str.replace(/^[ ]?|[ ]?$/, "").split("\r ");
\s*(\S*)\s*\r
它似乎对你所有的例子都很有效
\s*(\S*)\s*\r
你的对手将在第一组
在javascript中,您可以迭代所有匹配项并像这样捕获
var myregexp = /\s*(\S*)\s*\r/g;
var match = myregexp.exec(subject);
while (match != null) {
for (var i = 0; i < match.length; i++) {
// matched text: match[i]
}
match = myregexp.exec(subject);
}
var myregexp=/\s*(\s*)\s*\r/g;
var match=myregexp.exec(主题);
while(匹配!=null){
对于(变量i=0;i
你的对手将在第一组
在javascript中,您可以迭代所有匹配项并像这样捕获
var myregexp = /\s*(\S*)\s*\r/g;
var match = myregexp.exec(subject);
while (match != null) {
for (var i = 0; i < match.length; i++) {
// matched text: match[i]
}
match = myregexp.exec(subject);
}
var myregexp=/\s*(\s*)\s*\r/g;
var match=myregexp.exec(主题);
while(匹配!=null){
对于(变量i=0;i
问题是该id可以有任何其他空格字符,因此这是一个有效的id:123\t234\n。str='hey\r my\r name\r is\ndsfs\t\r'应该返回一个is\ndsfs\t的id,然后用[要拆分的空白字符列表]
替换\s
(\r
和一个空格)。是的,刚刚用:str.replace(/^++\r++$/g.)。拆分(/\r++/)
)。我想我只是想把它复杂化了,在一个正则表达式Swoop中思考如何实现它。问题是id可以有任何其他空格字符,所以这是一个有效的id:123\t234\n。str='hey\r my\r name\r is\ndsfs\t\r'应该返回一个is\ndsfs\t的id,然后用[要拆分的空白字符列表]
替换\s
(\r
和一个空格)。是的,刚刚用:str.replace(/^++\r++$/g.)。拆分(/\r++/)
)。我想我只是想在一个regex swoop中为id思考如何实现它,从而使它过于复杂:“嘿\r我的\r名字\r是\ndsfs\t\r”它将删除\t和任何其他空白。id可以有\r以外的任何其他空白。对于id:“嘿\r我的\r名字\r是\ndsfs\t\r”,它将删除\t和任何其他空白。ID可以有除\r\n之外的任何其他空白。