Giter Site home page Giter Site logo

regex-replacer's Introduction

Regex Replacer

This repository contains rust code to quickly parse replacement and removal regexes from a YAML configuration file, and apply them to multiple files in parallel.

Configuration

The input to the binary is a list of files without the language suffix.

The patterns are read from a YAML file specified via the -p or --pattern flag.

The remove key removes all lines which match a regex in the list, and the replace key contains all the replacements that should be performed.

remove:
    # If a line starts with a hyphen, skip it.
  - '^-'

    # Match any repeated punctuation with or without a space.
  - '([?!,."_]\s*){2,}'

    # Match any sort of parenthesis or bracket.
  - '[<>{}()\[\]]'

    # Match double forward slash.
  - '//'

    # Single underscore.
  - '_'

    # Double backslash.
  - '\\'

    # Any line starting with a number followed by a period and then a space or word.
  - '^\d*\.[\w\s]'

replace:
    # Match language tags '- (EN)'
  - regex: '.*-\s*\([A-Z]{2}\)\s*'
    replacement: ''

    # Match hyphens surrounded by non word characters
  - regex: '(\s-\s)|(\s-\w)'
    replacement: ' โ€“ '

    # Match double hyphens surrounded by word characters 'a--b'
  - regex: '\w--\w'
    replacement: '-'

    # Match one or more space characters
  - regex: '\s{2,}'
    replacement: ' '

regex-replacer's People

Contributors

aikow avatar dependabot[bot] avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.