问题标签 [positive-lookahead]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 正则表达式在选择中包含 Lookahead 字符串
我正在尝试从大量回声报告中提取特定类型心脏功能障碍(舒张功能障碍)的程度( Mild
/ Moderate
/ )。Severe
线条通常这样表达:“轻度LV 舒张功能障碍”或“轻度舒张功能障碍”。在这里,“温和”是我要提取的。
我写了以下模式:
现在,让我们看看结果(记住我想要“轻度”部分而不是“LV”部分):
正如您在“轻度舒张功能障碍”之类的字符串中看到的那样,模式正确选择了“轻度”,但是当涉及到“轻度 LV 舒张功能障碍”时,模式选择了“LV”,即使我已经在lv
内部引入了一个积极的前瞻(?= ( lv)?)
结构。
有人知道我在做什么错吗?
regex - postgres 正则表达式积极前瞻未按预期工作
我想以以下模式在文本中捕获标记:
前 2 个字符是字母并且是必需的,以 [AZ] 或 [AZ][0-9] 结尾,这是可选的任何介于两者之间的字符。
例子:
AA123123A1
AA123123A
AA123123123
我想在第 1 组中匹配并捕获以 ([AZ][AZ]) 开头,在第 3 组中以 [AZ] 或 [AZ][0-9] 结尾,然后在第 2 组中的所有其他内容
例子:
AA123123A1 => [AA,123123,A1]
AA123123A。=> [AA,123123,A]
AA123123123 => [AA,123123123,'']
以下正则表达式在 python 中有效,但在 postgres 中无效。
regex='^([A-Za-z]{2})((?:.+)(?=[A-Za-z][0-9]{0,1})|(?:.*))([A-Za-z][0-9]{0,1}){0,1}$'
在 Postgressql 中
结果:
{AA,2311121A1,""}
我正在尝试探索为什么积极的前瞻行为与 python 不同,以及在这种情况下如何在 Postgres 中进行积极的前瞻工作。
python - 在非固定长度表达式之后的空间上拆分句子
给定以下文本:
我需要:
我试过这个但它不起作用:
我得到的结果是这样的:
javascript - Javascript 正则表达式逻辑 - 向后看和向前看
我正在尝试使用正则表达式在两个单词之间提取字符串。我试图使用积极的前瞻和后视。现在的问题是,关键字在文本中出现多次,因此正向lookbehind 是针对文本中的最后一个关键字。有没有办法通过积极的后视来选择第一个关键字?
为了显示:
var text = "猫鼠狗狐狸鹦鹉马狮子老鼠青蛙鹦鹉鹰"
var selection = text.match(/(?<=mouse ).*(?= parrot)/g);
selection = "狗狐狸鹦鹉马狮子老鼠青蛙"
我希望它是“狗狐狸”
关键字可以在文本中多次出现,想要的选择可以随机长等等。我找不到比“给我关键字 1 的第一次出现和关键字 2 的第一次出现之间的所有内容”更好的规则。
有没有办法用正则表达式来表达?
谢谢