Javascript 如何正则表达式多变量
我试图对此进行正则化,但它不起作用: 这是我的字符串:Javascript 如何正则表达式多变量,javascript,regex,Javascript,Regex,我试图对此进行正则化,但它不起作用: 这是我的字符串: asdasd2-bgbegebr23-yiyity23-iopip123 因此,我尝试获取“-”之间的所有值,但它不起作用:我实际使用的是: /(-)(.*)(-)/gi 作为正则表达式,但不起作用,谢谢大家:这是因为圆点包含了破折号。你应该拆下破折号。试试这个: /([^-]+)/gi这是因为圆点包括破折号。你应该拆下破折号。试试这个: /([^-]+)/gi我不太明白正则表达式的用途。假设您要设计一个正则表达式,该正则表达式在上迭代
asdasd2-bgbegebr23-yiyity23-iopip123
因此,我尝试获取“-”之间的所有值,但它不起作用:我实际使用的是:
/(-)(.*)(-)/gi
作为正则表达式,但不起作用,谢谢大家:这是因为圆点包含了破折号。你应该拆下破折号。试试这个:
/([^-]+)/gi这是因为圆点包括破折号。你应该拆下破折号。试试这个:
/([^-]+)/gi我不太明白正则表达式的用途。假设您要设计一个正则表达式,该正则表达式在上迭代,示例字符串依次获得asdasd2、bgbeger23等,正则表达式如下所示:
\-?([^\-]*)\-?
\\-?[^\\-]*)\\-?
为什么??
\-?([^\-]*)\-?
\\-?[^\\-]*)\\-?
我不太明白你的正则表达式的用途。假设您要设计一个正则表达式,该正则表达式在上迭代,示例字符串依次获得asdasd2、bgbeger23等,正则表达式如下所示:
\-?([^\-]*)\-?
\\-?[^\\-]*)\\-?
为什么??
\-?([^\-]*)\-?
\\-?[^\\-]*)\\-?
(*)(*?)(-)
….您如何定义“所有值”-在您的示例中,您希望获得bgbgeb23-yiyiyity23
或bgbgeb23
和yiyiyiyity23
或asdasd2
、bgbgeb23
、yiyiyiyiyity23
和iopip123
?您可以使用string.split('delimiter'))
如果这是一个选项。比regexyes更简单更清晰,它可以工作,谢谢你dlkulp(.*?)(
)。你如何定义“所有值”——在你的例子中,你想得到bgbeger23-yiyiyity23
还是bgbeger23
和yiyiyiyity23
或者asdasd2
,bgbeger23
,yiyity23
和iopip123
?如果这是一个选项,您可以使用string.split('delimiter')
。比regexyes更简单更清晰,它可以工作,谢谢DLKULP这是最简单的解决方案是的。但是,它相当于执行str.split(“-”),这往往更容易处理。此外,OP提到他希望破折号之间的匹配。我不知道他的确切要求,但这可能会比OP想要的更多(包括第一项和最后一项)。这是最简单的解决方案是的。但是,它相当于执行str.split(“-”),这往往更容易处理。此外,OP提到他希望破折号之间的匹配。我不知道他的确切要求,但这可能会返回比OP想要的更多的内容(包括第一项和最后一项)。连字符是正则表达式的特殊字符
不,不是。无论如何,不在这些位置-它仅在[]
内部是特殊的,并且仅当它可以解释为一个范围时,例如[0-9]
。然而,在方括号外或在开始/结束时,它将永远不会被认为是特殊的<代码>强制执行它将省略第一个案例那么,你确定OP不想这样吗?如中所述,他实际上可能想省略第一个案例如果使用正则表达式文字,则可能需要替换反斜杠
。谢谢你,伙计,我一点也不明白这个->连字符是什么意思,但是谢谢你使用这个:而且不起作用:var r=/([^-]+)/gi.exec(“intro-verse1-verse2-chorus1-intro-verse1-verse2-chorus1-chorus2-bridge-bridge-chorus1-chorus2-intro”)@AlbertoAcuñtrystring.match(/([^-]+)/g)
-这将为您提供所有单词。但是,如果没有正则表达式,则更简单:string.split(“-”)
连字符是正则表达式的特殊字符
不,它不是。无论如何,不是在这些位置上-它只是在[]内部特别
并且仅当它可以解释为一个范围时,例如[0-9]
。然而,在方括号外或方括号内以及开始/结束时,它永远不会被认为是特殊的。强制执行它将忽略第一个案例
好吧,你确定这不是OP想要的吗?就像在中一样,他可能真的想忽略第一个案例。如果你使用正则表达式,你可能需要替换反斜杠文字。你可以在字符串中使用,但是文字现在是错误的。谢谢你,伙计,我根本不明白这是什么意思->连字符,但是谢谢你使用这个:而且不起作用:var r=/([^-]+)/gi.exec(“intro-verse1-verse2-chorus1-intro-verse1-verse2-chorus1-chorus2-bridge-bridge-cho