簡體   English   中英

法語字符的正則表達式

[英]regular expression for French characters

我需要一個函數或正則表達式來驗證包含字母字符(包括法語字符)、減號 (-)、點 (.) 和空格(不包括其他所有內容)的字符串

謝謝

/^[a-zàâçéèêëîïôûùüÿñæœ .-]*$/i

使用/i不區分大小寫以使事情更簡單。 如果您不想允許空字符串,請將*更改為+

簡化的解決方案:

/^[a-zA-ZÀ-ÿ-. ]*$/

說明:

^ Start of the string [ ... ]* Zero or more of the following: az lowercase alphabets AZ Uppercase alphabets À-ÿ Accepts lowercase and uppercase characters including letters with an umlaut - dashes . periods spaces $ End of the string

嘗試:

/^[\p{L}-. ]*$/u

這說:

^         Start of the string
[ ... ]*  Zero or more of the following:
  \p{L}     Unicode letter characters
  -         dashes
  .         periods
            spaces
$         End of the string
/u        Enable Unicode mode in PHP

[\\w .-]應該足夠了,但你需要有\\w考慮區域和/或把它轉換成Unicode模式,所以\\w匹配什么Unicode定義為字母數字字符。 如何在PHP中做到這一點可能只是一個谷歌。

我一直在使用的字符類如下:

[\\wÀ-Üà-øoù-ÿŒœ] 這涵蓋了比僅法語稍大的字符集,但排除了大部分與法語無關的東歐和斯堪的納維亞變音符號和字母。 我發現這是簡潔性和排他性之間的一個不錯的妥協。

為了匹配/驗證完整的句子,我使用這個表達式: [\\w\\s.,!?:;&#%''"()«»À-Üà-øoù-ÿŒœ] ,其中包括標點符號和法式引號.

這行正則表達式傳遞了所有 cirano de bergerac 法語文本:(您需要刪除標記語言字符http://www.gutenberg.org/files/1256/1256-8.txt

^([0-9A-Za-z\u00C0-\u017F\ ,.\;'\-()\s\:\!\?\"])+

只需使用以下代碼:

     /[\u00C0-\u017F]/

這可能適合:

/^[ a-zA-Z\xBF-\xFF\.-]+$/

它允許輸入一些額外的字符,例如 ÷,但它處理相當多的重音字符。

/[A-Za-z-\\.\\s]/u應該可以工作.. /u 開關用於 UTF-8 編碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM