Regex用于删除子字符串和其他字符
regex to remove substring and other characters
我有以下字符串
var myName = 'names:(taga || tagb || tagc)'
和这个正则表达式来删除名字:括号
myName = myName.replace(/(names:)?'s*'(?([^)]*)(')$)?/, '$2').trim();
, myName的输出为:taga||tagb||tagc
和另一个
var myName2 = 'names:tag1names: || names:tag2 || names:tag3'
和我想返回:tag1names:||tag2||tag3
,但它返回tag1names:||names:tag2||names:tag3
我可以让正则表达式删除每个字符串的第一个名称在||之前,所以它适用于两种情况
两个输入字符串
'names:(taga || tagb || tagc)' -> return taga||tagb||tagc
'names:tag1name: || names:tag2 || names:tag3' -> return tag1name:||tag2||tag3
不完全确定您的完整用例,但可能:
// try a sample
myName = "names:(taga || tagb || tagc)'nnames:tag1names: || names:tag2 || names:tag3";
// revised regex
myName = myName.replace(/(?:(?:'bnames:)?'s*'(([^)]*)')|'bnames:)/g, '$1').trim();
// results in stripped output
myName == "taga || tagb || tagc'ntag1names: || tag2 || tag3"
我简化了你的一些正则表达式:
- 可以使用
(?:regex)
忽略匹配组 - 可以使用
|
来匹配不同的替代表达式。 - 当匹配组处于非匹配备选项时,对应的捕获为空。
- 我使用
g
选项来替换所有匹配。 - 您可以使用
'b
来确保您匹配的单词。
您可以使用https://regex101.com/等工具进行验证和实验。我添加了这个特定的正则表达式:https://regex101.com/r/NEgbTu/1
祝你好运!
相关文章:
- Regex-仅当字符串包含任何其他字符时才允许使用某些字符
- Javascript:用其他字符替换反斜杠和双引号
- Reg ex 表示特定字符之后和其他字符之间的任何内容
- JavaScript Regex - 将包含某些字符且不包含其他字符的字符串匹配
- Reg Ex 不会验证我是否将 # 与其他字符或数字一起使用
- Regex匹配前面或后面没有其他字符的精确单词
- 使用jquery变量替换句点、冒号或任何其他字符的通用regexp
- 使用JavaScript删除HTML字母或其他字符
- RegEx查找一个字符的所有出现,而不是在两个其他字符之间
- 为什么特殊字符会自动转换为字符串值中的其他字符
- 设置document.location时,浏览器会转义一些url无效字符,但不会转义其他字符
- 用js中数组中的其他字符替换特殊字符
- 如何检查输入是否只包含空格字符?即只有一个或多个空格,而没有其他字符
- Regex用于删除子字符串和其他字符
- 如何用其他字符替换字符串中的字符
- Javascript + regex坏字过滤器,忽略单词中的空格和其他字符
- 如何在Jquery中用其他字符替换每个字符
- RegEx:匹配每行中其他字符之间的奇数重复量
- 正则表达式,用于将字符串中除“第一个字符”外的其他字符更改为“下划线”
- 在javascript中,有一种方法可以区分字母和其他字符吗?