Рубрики
Без рубрики

Практические приложения для Regex

Регулярные выражения могут быть трудно понять и трудно учиться. Тем не менее, они чрезвычайно военнопленные … Tagged with JavaScript, программирование.

Регулярные выражения могут быть трудно понять и трудно учиться. Однако они чрезвычайно мощны и имеют много случаев использования в реальном мире. В этом посте я исследую некоторые практические применения Regex.

Форма поля проверки

Одним из наиболее распространенных случаев использования для REGEX является проверкой полей формы, такие как электронные письма, имена пользователей, номера кредитных карт, номера телефонов, даты, прочность на пароль и т. Д.

В следующем примере является Regex, который подтверждает формат электронной почты.

const emailValidatorRegex = /^[^@\s]+@[^@\s]+\.[^@\s\.]{2,}$/

function isValid(email) {
    if emailValidatorRegex.test(email) {
        return true
    } else {
        return false
    }
}

isValid('dummyemail@gmail.com') // true 
isValid('dummyemail@gmail') // false

Найти и заменить

Regex можно использовать для написания сложных функций поиска и замены. Вы даже можете использовать Regex, чтобы найти и заменить внутри редактора, таких как VSCODE.

В следующем примере выполняется все обычные объявления функций JavaScript и заменяет их функциями стрелки.

const normalFunction = `
function add(x, y) {
    return x + y
}
`

const arrowFunction = normalFunction.replace(/function\s*(\w+)\s*\(([^\)]+)\)/g, "const $1 = ($2) =>")

console.log(arrowFunction)
/*
const add (x, y) => {
    return x + y
}
*/

Вот как вы можете использовать это, чтобы найти и заменить в VSCODE.

HTML SAINING

Другой вариант использования для Regex предназначен для анализа таких вещей, как HTML. Может быть, вы хотите извлечь источники изображения из-за некоторых HTML или извлекать все URL-адреса из результата поиска Google.

Допустим, у вас есть HTML, и вы хотите извлечь все, что находится внутри

  • и положить его в массив. Вот как мы могли бы сделать это.

    const markup = `
    
      
    
        

    Shopping List

    Produce

    • Celery
    • Apples

    Frozen

    • Ice Cream
    • Hot Pockets
    ` const listParser = /(?<=
  • )(\w|\s)+(?=<\/li>)/gm const shoppingList = markup.match(listParser) console.log(shoppingList) // [ 'Celery', 'Apples', 'Ice Cream', 'Hot Pockets' ]
  • Вывод

    Есть так много, что вы можете сделать с регулярными выражениями. Однако они определенно не решение всего. Несмотря на свою силу и гибкость, они не самые читаемые для других разработчиков.

    Может быть, не добраться до этого для чего-то вроде урезанного пробела из строки. Для этого есть строковые методы или основные функции. Но для сложных поисков, найдите и замените, проверка и анализ, регулярные выражения являются отличным решением. Кроме того, они весело писать!

    Хотите узнать Regex?

    Проверьте мой интерактивный курс: https://www.slip.so/courses/regular-expresssions-in-javascript

    Следуй за мной в Twitter для обновлений: https://twitter.com/katherinecodes.

    Оригинал: “https://dev.to/katherinecodes/practical-applications-for-regex-o8”