【问题标题】:Regular Expressions _# at end of string字符串末尾的正则表达式 _#
【发布时间】:2010-11-23 20:15:08
【问题描述】:

我正在使用 Oracle 10g 中的 REGEXP_LIKE 函数在后缀为 _#(如 _1、_2 等)的列中查找值。我可以使用下面的查询在值的任何部分找到 _#,但我可以只返回最后带有 _# 的值吗?

SELECT * FROM Table WHERE  REGEXP_LIKE (COLUMN,'_[[:digit:]]')

【问题讨论】:

  • 如果您发现自己被此类问题困扰,您可以尝试在谷歌上搜索正则表达式备忘单。您必须确保获得与您的特定口味相匹配的内容,但是很容易扫描单个页面以查找“$ End of line”。

标签: regex oracle plsql


【解决方案1】:

当然。使用...

SELECT * FROM Table WHERE  REGEXP_LIKE (COLUMN,'_[[:digit:]]$')

$ 字符匹配“字符串的结尾”。

【讨论】:

  • 谢谢!!我认为我将不得不花一些时间阅读我的“掌握正则表达式”一书。仍然在待办事项清单上,但还有一天。
  • 你真的真的真的应该读那本书。了解正则表达式是对编码人员生产力的主要贡献。
【解决方案2】:

无需使用正则表达式。

select * from table where substr(column,-2) between '_0' and '_9';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 2019-12-18
    • 2018-06-18
    相关资源
    最近更新 更多