问题标签 [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.

0 投票
1 回答
1827 浏览

regex - 数字字符串中精确数字的正则表达式

我一直在尝试为以下问题创建正则表达式:

给定上面的字符串 A 和 B ,我想找到这些值按顺序出现的所有匹配项,而不考虑空格等,并遵循以下重要规则:

  1. 字符串 A 和 B 都不能作为另一个更大字符串的子字符串存在
  2. 给定的字符串 B 必须出现在 A 之后
  3. 给定的字符串 B 必须单独出现,而不是另一个数字的一​​部分

以下是一些潜在匹配示例:

  1. 标准杆1234
  2. 标准杆 1234
  3. 标准5678、1234
  4. 标准杆 9991234999 , 1234
  5. 标准杆!@#-= 1234
  6. 标准杆1234 -122
  7. 标准杆# 1234 -233
  8. 任何文本PAR # 1234 -233

但是,以下内容不应匹配:

  1. PAR T 1234 - PAR 是 PART 的子字符串
  2. A PAR T 1234 - PAR 是 APART 的子字符串
  3. PAR 1234 999 - 1234 是 1234999 的子字符串
  4. PAR 999 1234 - 1234 是 9991234 的子字符串
  5. PAR 999 1234 999 - 1234 是 9991234999 的子字符串
  6. 1234 PAR - 1234 出现在 PAR 之前

不幸的是,我试图在 oracle 中使用REGEXP_LIKE来做到这一点,但没有 \b

我试过了

\W*标准杆\W* 1234

但这与上述潜在比赛中的#3 不匹配。所以我尝试了许多适用于某些但不是全部的变化。

我想知道是否有一个表达式可以捕捉我想要完成的事情。任何帮助将不胜感激。

谢谢。

0 投票
2 回答
1760 浏览

postgresql - Postgresql regexp_substring

我有一个文字

你能帮我写一个 sql 查询来获得修订的前 6 个字符(333617)和 RevDate 的日期(10-04-2017 11:43:47)吗?提前致谢。

我试图修改为

没运气

0 投票
2 回答
857 浏览

sql - 匹配逗号分隔字符串中的特定单词

我有一个允许的值列表,例如:猫、老鼠、狗和鹦鹉。现在我想有可能从这个列表中添加许多值到一个用分号 (;) 分隔的单元格中。

这意味着我可以添加:

那只猫; 狗; 鼠标

那只猫; 鹦鹉

鼠标; 那只猫

鹦鹉

但我不能添加

狮子; 那只猫

鼠标; 鹦鹉;狮子

猫;(这意味着我不能在末尾添加分号)

那只猫; 鼠标;

;(这意味着我不能只添加一个分号)我尝试使用这个函数 regexp_like 编写一个约束,但这不能正常工作。

注意:动物是我应用约束的列

0 投票
2 回答
370 浏览

oracle - Oracle 使用 regexp_substr 拆分消息

我需要拆分消息:

现在我对 Substr1/2/4 有了一些可行的解决方案

但是 Substr3 包含'='。我希望至少有 '.*.' 或者 ' * '

你能否给我一个提示如何在正则表达式中“排除”任何字符(例如'=')?

任何帮助深表感谢!

谢谢

已解决见 SUBSTR3.1

0 投票
0 回答
35 浏览

regex - 如何限制oracle DB中的特殊字符

如何限制特殊字符被特定列接受。?这可以用 REGEXP_LIKE 完成吗?除了下面的字母数字之外,还有文本字段中允许的特殊字符,并且不能在定义中添加约束。必须在不匹配时处理此 case 语句,然后引发错误,否则填充相同的值。

在下面尝试并获得了所需的输出。谢谢。

0 投票
1 回答
1034 浏览

sql - SQL:提取字符串的特定部分

我试图弄清楚如何使用Oracle SQL中的 select 语句提取字符串的特定部分(由多个术语组成) 。

列中的值看起来有点像'2E WK 12-345-678 TM 13-06-2017',每行的格式略有不同。

现在我想创建一个只显示'123-456-789'每一行的部分的新列。现在的问题是:如何从每行中识别3 个数字、连字符、3 个数字、连字符、3 个数字的确切格式?

SUBSTR(...) 没有为我做这件事,因为有问题的部分并不总是在同一个位置。然后我尝试应用 REGEXP_LIKE(...) 但这也没有返回正确的值。

我应该如何编写 SQL 语句来做到这一点?非常感谢您的帮助。

字符串示例:

亲切的问候!

0 投票
2 回答
153 浏览

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

0 投票
1 回答
37 浏览

sql - 如何使用 JOIN 仅显示匹配的项目

有人可以帮助我使用这些条件使 SQL (ORACLE) 查询更加灵活吗?

有2张桌子:

表格1

表 2

然后运行这个脚本

在这种情况下,结果是:

但在这种情况下,它只需要显示第一个值,并且在运行脚本后另一列应该是空的。

例如,

但如果列“CodeB”(表 2)包含value = 1112-534,则该值应在运行相同的脚本后出现

例如,

表格1

表 2

运行相同的脚本后,结果应该是:

我应该在此脚本中进行哪些更改以使其灵活(通用),具体取决于表中的输入数据?我的意思是当表 2 不包含预期值时(在本例中为 1112-534),那么结果(对于第 2 列)应该为 NULL:

并且当表 2 包含此值 ( 1112-534 ) 时,响应应为:

这是我拥有并希望使其更灵活的脚本:

请帮助我)))提前致谢。

0 投票
2 回答
6817 浏览

oracle - 如何在 oracle regexp_like(), '?!' 中进行负前瞻 不工作

询问:

上面的查询没有返回 me 1。请让我知道如何使用 oracle 实现负前瞻regexp_like()

注意:请不要建议对查询进行任何更改,我很想知道regexp_like()负前瞻接受的正确正则表达式。此外 [^] 似乎仅逐个字符否定而不是整个字符串。

0 投票
2 回答
1390 浏览

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))