首頁 > web前端 > js教程 > 為什麼我的 JavaScript 正規表示式無法從字串中提取座標?

為什麼我的 JavaScript 正規表示式無法從字串中提取座標?

Linda Hamilton
發布: 2024-12-21 17:46:16
原創
251 人瀏覽過

Why Is My JavaScript Regex Failing to Extract Coordinates from a String?

為什麼這個 JavaScript 正規表示式不起作用?

嘗試使用正規表示式從字串中提取點,使用者遇到了 null結果。提供的正規表示式「(s([0-9.-] )s,s([0-9.-] )s*)」符合括號內並以逗號分隔的點。但是,當應用於「(25.774252, -80.190262),(18.466465, -66.118292),(32.321384, -64.75737),(25.774252, -80.1902626)」這樣的字串時,它失敗時,它的字串失敗。

解法

根本原因是 RegExp 建構子的錯誤使用。若要使用較方便且不易出錯的正規表示式文字,請將“new RegExp”替換為“/”。此外,修飾符作為第二個參數傳遞:

var reg = /\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g;
登入後複製

輸出注意事項

match() 傳回一個符合字串數組,這對於提取數值。相反,應該使用 exec() 來提取單一匹配項:

var result, points = [];

while ((result = reg.exec(polygons)) !== null) {
    points.push([+result[1], +result[2]]);
}
登入後複製

這將建立一個包含數字座標的陣列。或者,如果首選字串,請省略一元加號 ( )。

以上是為什麼我的 JavaScript 正規表示式無法從字串中提取座標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板