正则表达式匹配前面没有另一个字符串的任何字符串
Regex match any string that isn't preceded by another string
我不擅长正则表达式,我一直在努力解决这个问题。问题是我有一个字符串,我想匹配任何前面没有"^"的"+"或"-"。
字符串示例:
100x^-3+2x-10
上面的字符串将被数学格式化或读取为" 100乘以x的-3次方,加上2乘以x,减去10 "。
我想匹配"2x"之前的"+"answers"10"之前的"-",但不是"100x^"之后的"-"。我希望这不会让你感到困惑。我试过下面的regg,没有运气:
[^'^]['+|'-]
按+
或-
划分:
"100x^-3+2x-10".replace(/([^^])[-+]/g,'$1@').split('@')
Output: ["100x^-3", "2x", "10"]
我使用@
作为临时字符(但您可以使用一组唯一的字符)来标记不以^
为前缀的符号,然后由所选的临时字符安全地分割。
您可以使用旧的技巧,通过反转字符串来模拟向后看,然后与/['+'-](?!='^)/
进行匹配。
它运行在chrome控制台,无论如何你可以尝试:"100x^-3+2x-10".match(/[^'^$](['-|'+])/ig)
,我建议你测试你的regex在谷歌chrome控制台。
试一试:
/(?<!'^)[+-]/
相关文章:
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 如何使用另一个字符串作为模板从字符串中提取数据
- 用jQuery将字符串从一个类替换为另一个类
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 用PHP读取另一个网站的源代码,并将其作为字符串提供给JavaScript
- 如何拆分一个字符串,然后将它们与另一个字符串匹配
- 将 url 中的一个字符串替换为另一个字符串
- 通过另一个对象上的字符串值为 javascript 对象属性赋值
- 从包含另一个函数的字符串变量中返回一个函数
- 在另一个由非字母数字字符分隔的字符串中搜索(任何)字符串
- 单击另一个锚点标记时,从锚点标记获取字符串值
- 在javascript中比较另一个字符串中的子字符串
- 转换一个时间(字符串),例如1:00 IST到另一个时区(比如PST)
- 我正在尝试用另一个字符串替换一个字符串
- 如何将jQuery中某个函数的字符串作为参数返回给另一个jQuery函数
- 单击一个具有字符串名称的类以激活另一个类
- 检查长度为5的子字符串是否在另一个字符串中(已重构)
- 将变量与字符串连接以定义另一个变量
- 检查另一个字符串 JavaScript 中一个字符串是否有任何字符的最佳方法