網站搜尋

javascript - 正則表達式。如何從這個字串中取得多個匹配項?

我正在使用 JavaScript 正則表達式。假設我有以下字串:

XXX_1_XXX XXX_2_XXX XXX_3_XXX YYY_1_YYY YYY_2_YYY YYY_3_YYY

我想運行一個正則表達式,並得到符合這個模式的結果:

Match1 1. XXX_1_XXX 2. YYY_1_YYY Match2 1. XXX_2_XXX 2. YYY_2_YYY Match3 1. XXX_3_XXX 2. YYY_3_YYY

我已經嘗試過這個的各種變化:

閱讀更多 →

用於名字的 Javascript 驗證正則表達式

我希望在我的應用程式中接受包含字母和連字號或破折號的名字,我是基於我在這裡找到的一個答案來編寫我的程式碼的,並編寫了如下內容:

function validName(n){ var nameRegex = /^[a-zA-Z\-]+$/; if(n.match(nameRegex) == null){ return "Wrong"; } else{ return "Right"; } }

唯一的問題是它接受連字號作為第一個字母(甚至多個),這是我不希望的。謝謝

答案#1

使用負向前瞻斷言來避

閱讀更多 →

powerbi - 在 Power Query 中使用 JavaScript 的正則表達式

我需要正則表達式,但 M/Power Query 沒有原生支持。我找到幾個解決方案的變體,都圍繞著相同的出色 Web.Page 和 JavaScript 想法——Biccauntant、Hugoberry。

由於 JavaScript 的限制,我不得不採用它們(生成的程式碼如下)。

主要問題是 JavaScript 對字串變數有自己的嚴格限制 - 不可能在其中使用 "\"。

我的變體解決了這個問題,但我在 JS 方面不是專業的,所以主要的問題是——我懷疑「\」的問題不是唯一的。

所以我的問題是——有人在使用正則表達式時,看到 PQ 和 JavaScript“合作”上有其他問題嗎?關於字串的其他陷阱,或者其他什麼嗎?

閱讀更多 →

Javascript 正則表達式中模式的多組匹配

我有一個關於 Javascript 正則表達式高手的問題:我該如何使用正則分組來簡化從字串建立變數的方式?我目前已經可以在不使用任何分組的情況下運作,但我希望能看到更好的方法!

字串是:

var url = 'resources/css/main.css?detect=#information{width:300px;}';

可行的程式碼是:

var styleStr = /[^=]+$/.exec(url).toString(); var id = /[^\#][^\{]+/.exec(styleStr).toStri

閱讀更多 →

javascript - Regex 替換單個反斜線,不包括後面跟著特定字符的反斜線

我有一個正則表達式,如果反斜線後面不是以下字符之一:\/或 },它會從字串中移除該反斜線。

它應該轉換這個字串:

foo\bar\\batz\/hi

進入這個:

foobar\\batz\/hi

但是問題在於它在處理每個反斜線時都是逐一處理的。所以它遵循規則,刪除了第一個反斜線,並忽略了第二個,因為它後面還跟著另一個反斜線。但是當它處理到第三個時,它會刪除它,因為它後面沒有另一個反斜

閱讀更多 →

javascript - 正則表達式替換列表中的 0,但不替換 10、20、30 等的 0 - 使用 js replace

我正在嘗試創建一個正則表達式來將列表中的零替換為空值,但不替換十、二十、三十等數字中的零。

list=0,1,0,20,0,0,1,,1,3,10,30,0

desired list=,1,,20,,,1,,1,3,10,30,

在 JavaScript 的 replace 函數中使用這個

任何幫助/建議都非常感謝!

答案#1

使用單詞邊界應該非常簡單,

閱讀更多 →

javascript - 在 QML 中可能是一個 Qstring/string 的內容使用 contains(regexp)

我有一個 QML 的程式碼片段,它應該在 screen.text 中尋找正則表達式 "Calling",如果沒有找到,才會改變 screen.text。不幸的是,QML/QString 的文件說明不清楚。

Button{ id: call anchors.top: seven.bottom anchors.left: seven.left text: "Call" width: 40 onClicked:{ if(screen.tex

閱讀更多 →

如何在 Javascript 中對正則表達式回溯匹配進行操作?

在 JavaScript 中,我有一個包含數字的字串,我想將數值加一。

範例:

var string = "This is a string with numbers 1 2 3 4 5 6 7 8 9 10"; var desiredResult = "This is a string with numbers 2 3 4 5 6 7 8 9 10 11";

使用正則表達式,是否有可能對匹配的反向引用進行操作(在此情況下為加法)?

A 使用 Ruby 找

閱讀更多 →

javascript - 是否有可能用正則表達式解析正則字串

只是出於好奇,是否有可能用單一個正則表達式解析一個完全由隨機但有效的正則表達式組成的字串?

給定正則表達式的字串:

<[^>]*>\xA9

解析為:

<[^>]*> \xA9

其中第一個匹配 HTML,第二個匹配版權符號。

編輯:我在 Stack Overflow 發現了一個相似的問題,聲稱這可能是可行的。在這裡,我指的是僅在 JavaScript ECMA-262 中的正則表達式。

答案#1

不,不可能:正則表達式語言允許用圓括號表示捕獲組和非捕獲組、前瞻或後顧等,其中括號必須成對平衡。即使在理論上,也不可能寫出一個正則表達式來驗證給定字串中的括號是否平衡。如果沒有這個能力,你就無法知道一個正則表達式結束的位置以及另一個正則表達式開始的位置。

一般來說,正則表達式的語法相對複雜。要了解它究竟有多複雜,可以

閱讀更多 →

javascript - 正則表達式 - 我該如何排除「%」和「_」?

我允許在我的 HTML 文本框中輸入數字、字母和特殊字符,但不包括 % 和 _。我使用的模式是 /[a-zA-Z0-9!@#$^&*()-+=]/。我覺得這不是最好的方法,因為我必須列出所有特殊字符,除了上面提到的兩個。有沒有辦法可以不列出所有特殊字符,同時又不包括這兩個?順便提一下,我使用的是 JavaScript 正則表達式。

請參閱演示:http://jsfiddle.net/ce8Th/

請幫忙。

答案#1

沒有必要使用那個複雜的迴圈。只需直接在整個字串上呼叫 replace 即

閱讀更多 →