问题标签 [regexp-like]
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.
regex - 数字字符串中精确数字的正则表达式
我一直在尝试为以下问题创建正则表达式:
给定上面的字符串 A 和 B ,我想找到这些值按顺序出现的所有匹配项,而不考虑空格等,并遵循以下重要规则:
- 字符串 A 和 B 都不能作为另一个更大字符串的子字符串存在
- 给定的字符串 B 必须出现在 A 之后
- 给定的字符串 B 必须单独出现,而不是另一个数字的一部分
以下是一些潜在匹配示例:
- 标准杆1234
- 标准杆 1234
- 标准杆5678、1234
- 标准杆 9991234999 , 1234
- 标准杆!@#-= 1234
- 标准杆1234 -122
- 标准杆# 1234 -233
- 任何文本PAR # 1234 -233
但是,以下内容不应匹配:
- PAR T 1234 - PAR 是 PART 的子字符串
- A PAR T 1234 - PAR 是 APART 的子字符串
- PAR 1234 999 - 1234 是 1234999 的子字符串
- PAR 999 1234 - 1234 是 9991234 的子字符串
- PAR 999 1234 999 - 1234 是 9991234999 的子字符串
- 1234 PAR - 1234 出现在 PAR 之前
不幸的是,我试图在 oracle 中使用REGEXP_LIKE来做到这一点,但没有 \b
我试过了
\W*标准杆\W* 1234
但这与上述潜在比赛中的#3 不匹配。所以我尝试了许多适用于某些但不是全部的变化。
我想知道是否有一个表达式可以捕捉我想要完成的事情。任何帮助将不胜感激。
谢谢。
postgresql - Postgresql regexp_substring
我有一个文字
你能帮我写一个 sql 查询来获得修订的前 6 个字符(333617)和 RevDate 的日期(10-04-2017 11:43:47)吗?提前致谢。
我试图修改为
没运气
sql - 匹配逗号分隔字符串中的特定单词
我有一个允许的值列表,例如:猫、老鼠、狗和鹦鹉。现在我想有可能从这个列表中添加许多值到一个用分号 (;) 分隔的单元格中。
这意味着我可以添加:
那只猫; 狗; 鼠标
那只猫; 鹦鹉
鼠标; 那只猫
鹦鹉
但我不能添加
狮子; 那只猫
鼠标; 鹦鹉;狮子
猫;(这意味着我不能在末尾添加分号)
那只猫; 鼠标;
;(这意味着我不能只添加一个分号)我尝试使用这个函数 regexp_like 编写一个约束,但这不能正常工作。
注意:动物是我应用约束的列
oracle - Oracle 使用 regexp_substr 拆分消息
我需要拆分消息:
现在我对 Substr1/2/4 有了一些可行的解决方案
但是 Substr3 包含'='。我希望至少有 '.*.' 或者 ' * '
你能否给我一个提示如何在正则表达式中“排除”任何字符(例如'=')?
任何帮助深表感谢!
谢谢
已解决见 SUBSTR3.1
regex - 如何限制oracle DB中的特殊字符
如何限制特殊字符被特定列接受。?这可以用 REGEXP_LIKE 完成吗?除了下面的字母数字之外,还有文本字段中允许的特殊字符,并且不能在定义中添加约束。必须在不匹配时处理此 case 语句,然后引发错误,否则填充相同的值。
在下面尝试并获得了所需的输出。谢谢。
sql - SQL:提取字符串的特定部分
我试图弄清楚如何使用Oracle SQL中的 select 语句提取字符串的特定部分(由多个术语组成) 。
列中的值看起来有点像'2E WK 12-345-678 TM 13-06-2017'
,每行的格式略有不同。
现在我想创建一个只显示'123-456-789'
每一行的部分的新列。现在的问题是:如何从每行中识别3 个数字、连字符、3 个数字、连字符、3 个数字的确切格式?
SUBSTR(...) 没有为我做这件事,因为有问题的部分并不总是在同一个位置。然后我尝试应用 REGEXP_LIKE(...) 但这也没有返回正确的值。
我应该如何编写 SQL 语句来做到这一点?非常感谢您的帮助。
字符串示例:
亲切的问候!
html - How can i parse html description meta with classic asp xmlhttp
i have using classic code with parse html desctiption meta is:
Html exaple:
Parse Code:
this is work but when the html code change location of writings for example:
it doesnt work my code. Is there a way to run on both sides? regex or on my way.
thank you
sql - 如何使用 JOIN 仅显示匹配的项目
有人可以帮助我使用这些条件使 SQL (ORACLE) 查询更加灵活吗?
有2张桌子:
表格1
表 2
然后运行这个脚本
在这种情况下,结果是:
但在这种情况下,它只需要显示第一个值,并且在运行脚本后另一列应该是空的。
例如,
但如果列“CodeB”(表 2)包含value = 1112-534,则该值应在运行相同的脚本后出现
例如,
表格1
表 2
运行相同的脚本后,结果应该是:
我应该在此脚本中进行哪些更改以使其灵活(通用),具体取决于表中的输入数据?我的意思是当表 2 不包含预期值时(在本例中为 1112-534),那么结果(对于第 2 列)应该为 NULL:
并且当表 2 包含此值 ( 1112-534 ) 时,响应应为:
这是我拥有并希望使其更灵活的脚本:
请帮助我)))提前致谢。
oracle - 如何在 oracle regexp_like(), '?!' 中进行负前瞻 不工作
询问:
上面的查询没有返回 me 1
。请让我知道如何使用 oracle 实现负前瞻regexp_like()
。
注意:请不要建议对查询进行任何更改,我很想知道regexp_like()
负前瞻接受的正确正则表达式。此外 [^] 似乎仅逐个字符否定而不是整个字符串。
plsql - 在 WHERE 子句 SQL 查询 REGEXP_LIKE Oracle 11g 中检查多个值
如果在复杂查询中使用 REGEXP_LIKE 需要很长时间才能执行,您能否为此提供替代解决方案。
从一个查询中获取值列表,并且应该仅将这些值用于另一个查询 where 子句
-- 它将返回多个值,例如 2|38|45|60
-- 赋值 ^(2|38|45|60)$ 将此值传递给下面的查询
首先执行查询获取输出并将这些输出用于第二、第三个查询输入。like (select f1,f2 from table1 where REGEXP_LIKE(TRANSACTION_TYPE_ID, LV_TRANS_TYPES_IDS) union all union all select f1,f2 from table3 where REGEXP_LIKE(TRANSACTION_TYPE_ID, LV_TRANS_TYPES_IDS))