[英]Using a Regular Expression, how to ignore a given character
下午好,
我是從 SQL 服務器到 DataBricks (Apache Spark) 的遷移項目的一部分,雖然我們正在享受 DB 的所有好處,但我必須承認我錯過了所有這些可愛的 Microsoft SQL 功能。
作為遷移的一部分,我正在嘗試編寫一個正則表達式來查找“-”或“+”的第一個實例,並在此之后返回所有字符。
到目前為止,這是我的正則表達式: \+(.*)|\-.*
這是我的復雜測試集:
dlfsdlfkgjbsdfg / sdklfjgsdfgsdfg- sdfgsdfg / sdfgjh- sdfgsdfg / sdfg+ sdfgsdfg / sdfgsdgfhf4
粗體文本是我期望返回的,但目前我看到加號和減號字符返回。
我嘗試了以下示例,但似乎我錯過了一個技巧,因為我可以突出顯示(但包括)字符之后的所有內容,或者僅突出顯示字符本身。
提前致謝!
您的
\+(.*)|\-.*
匹配任一
加號后跟任何內容並捕獲任何內容
或者
連字符和任何東西,什么都不做。
您應該使用字符 class 然后捕獲。*,如
[+-](.*)
或非捕獲交替(+ 和 - 各一個)和捕獲。* 像
(?:\+|-)(.*)
您可以提取設置了單行或DOTALL標志的以下正則表達式的匹配項,這會導致點匹配行終止符以及所有其他字符。
(?<=[+-]).*
(?<=[+-])
是一個肯定的后向查找(Java 支持),它斷言匹配中的當前位置緊跟在第一個加號或減號字符之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.