2015-01-12 59 views
0

我面臨一個困惑的時刻,想知道我在做什麼可以在正則表達式中完成。通配符正則表達式到下一個空間

我已經嘗試了許多正規的表達,但一直沒有創建正確的表達。

我正在尋找使用通配符編寫正則表達式。

一個例子是:下面

所示

文本搜索 「使用正則表達式來驗證的電子郵件地址」

正則表達式要求 VAL *

這將返回「驗證」

這是可能的正則表達式嗎?

我basicly要搜索 「partofakeyword * tonextspacebreak」

+0

您使用哪種語言? – Maroun

+0

我正在使用Java – LmC

+0

這並不能解決問題 – LmC

回答

2

\S表示非空白字符。這是[^\s]的簡寫。

因此\S*意味着非空白字符序列

所以你正在尋找的正則表達式是val\S*

+0

我懷疑這正是LmC想要的(即使它在技術上被問到),因爲這也會匹配標點符號等內容。 –

+0

@Tom是的,我不確定。這就是爲什麼我除了給你提供這個答案外,還要讓提問者決定他真正需要的東西。 –

2

val\w*

說明:\w意味着 「任何單詞字符」(字母,數字,下劃線),和*表示 「0或更多」。

+1

在java'\ w'中只有ASCII。如果要匹配文本,我寧願使用'\ p {L}'或'[\ p {L} \ p {N}]'作爲解決方法。這些處理Unicode字符。 –

1

不完全確定問題,但是像這樣?

public static void main(String[] args) { 
    System.out.println(
     "Using a regular expression to validate an email address" 
      .replaceAll(".*(val[^\\s]*)\\s.*", "$1") 
    ); 
} 
相關問題