Javascript正则表达式协助
我有以下javascript正则表达式Javascript正则表达式协助,javascript,regex,Javascript,Regex,我有以下javascript正则表达式 .replace("/^(a-zA-Z\-)/gi", ''); 它不完整。。。事实上,这是错误的。基本上,我需要做的是获取一个类似“XJ FC-X35(1492)”的字符串,并删除()及其内容和括号前的空格。尝试以下操作: x = "XJ FC-X35 (1492)" x.replace(/\s*\(.*?\)/,''); 试试这个: x = "XJ FC-X35 (1492)" x.replace(/\s*\(.*?\)/,''); 获取XJ F
.replace("/^(a-zA-Z\-)/gi", '');
它不完整。。。事实上,这是错误的。基本上,我需要做的是获取一个类似“XJ FC-X35(1492)”的字符串,并删除()及其内容和括号前的空格。尝试以下操作:
x = "XJ FC-X35 (1492)"
x.replace(/\s*\(.*?\)/,'');
试试这个:
x = "XJ FC-X35 (1492)"
x.replace(/\s*\(.*?\)/,'');
获取XJ FC-X35(1492)并返回XJ FC-X351492
移除$2
以将XJ FC-X35(1492)转换为XJ FC-X35,如果这是您想要的
长篇大论
获取XJ FC-X35(1492)并返回XJ FC-X351492
移除$2
以将XJ FC-X35(1492)转换为XJ FC-X35,如果这是您想要的
长篇大论
+1用于健壮的regexp,并根据OP的含义提供备选方案。但是您真的需要匹配并替换初始的
^(.*)
?“为什么不干脆省略它呢?”拉尔斯——习惯比什么都重要。在处理正则表达式时,我总是希望确保我得到了我想要的,而不是删除了我不需要的(白名单、不要黑名单)。但是你是对的,^(.*)
和$
可以被删除而不会造成伤害,从而更易于阅读替换(/\s?\([^]+)\)/gi,“$1”)
——这取决于公平的读者选择更好的方式。一点一点的解释很好。顺便说一句,我更喜欢你之前的\s*
而不是\s?
,因为OP的“空白”在基数上非常模糊。我本来会把\s+
放在上面,但你可能是对的。对于健壮的regexp,以及根据OP的意思提供替代方案,+1。但是您真的需要匹配并替换初始的^(.*)
?“为什么不干脆省略它呢?”拉尔斯——习惯比什么都重要。在处理正则表达式时,我总是希望确保我得到了我想要的,而不是删除了我不需要的(白名单、不要黑名单)。但是你是对的,^(.*)
和$
可以被删除而不会造成伤害,从而更易于阅读替换(/\s?\([^]+)\)/gi,“$1”)
——这取决于公平的读者选择更好的方式。一点一点的解释很好。顺便说一句,我更喜欢你之前的\s*
而不是\s?
,因为OP的“空白”在基数上非常模糊。我会把\s+
放进去,但你可能是对的。
^ // From the start of the string
( // Capture a group ($1)
.*? // That contains 0 or more elements (non-greedy)
) // Finish group $1
\s? // Followed by 0 or 1 whitespace characters
\( // Followed by a "("
( // Capture a group ($2)
[ // That contains any characters in the following set
^) // Not a ")"
]+ // One or more times
) // Finish group $2
\)$ // Followed by a ")" followed by the end of the string.