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

我有以下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 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.