Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/actions-ecosystem/action-regex-match
🔍 GitHub Action to do regex matching
https://github.com/actions-ecosystem/action-regex-match
actions github regex
Last synced: 2 days ago
JSON representation
🔍 GitHub Action to do regex matching
- Host: GitHub
- URL: https://github.com/actions-ecosystem/action-regex-match
- Owner: actions-ecosystem
- License: apache-2.0
- Created: 2020-05-04T09:23:19.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-20T19:38:31.000Z (9 months ago)
- Last Synced: 2024-12-15T05:51:27.826Z (11 days ago)
- Topics: actions, github, regex
- Language: TypeScript
- Homepage: https://github.com/marketplace/actions/actions-ecosystem-action-regex-match
- Size: 405 KB
- Stars: 109
- Watchers: 3
- Forks: 36
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Action Regex Match
[![actions-workflow-test][actions-workflow-test-badge]][actions-workflow-test]
[![release][release-badge]][release]
[![license][license-badge]][license]This is a GitHub Action to do regex matching and output the matched text and groups captured by the given regex.
GitHub Actions natively supports some helpful functions, like `contains` and `startsWith`, but doesn't regex matching.
This actions provides the missing, useful function.It would be more useful to use this with other GitHub Actions' outputs.
## Inputs
| NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
| ------- | ----------------------------------------------------- | -------- | -------- | ------- |
| `text` | A text as the target for `inputs.regex`. | `string` | `true` | `N/A` |
| `regex` | A regex for `inputs.text`. Supports capturing groups. | `string` | `true` | `N/A` |
| `flags` | Flags for inputs.regex. e.g.) `'g'`, `'gm'` | `string` | `false` | `''` |## Outputs
| NAME | DESCRIPTION | TYPE |
| -------- | ---------------------------------------------------------------------------------------------- | -------- |
| `match` | The whole matched text. If the `inputs.regex` doesn't match `inputs.text`, this value is `''`. | `string` |
| `group1` | The 1st captured group. | `string` |
| `group2` | The 2nd captured group. | `string` |
| `group3` | The 3rd captured group. | `string` |
| `group4` | The 4th captured group. | `string` |
| `group5` | The 5th captured group. | `string` |
| `group6` | The 6th captured group. | `string` |
| `group7` | The 7th captured group. | `string` |
| `group8` | The 8th captured group. | `string` |
| `group9` | The 9th captured group. | `string` |## Example
```yaml
name: Add Label with Commenton: [issue_comment]
jobs:
create_comment:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2- uses: actions-ecosystem/action-regex-match@v2
id: regex-match
with:
text: ${{ github.event.comment.body }}
regex: '^/label\s*(.*?)\s*$'- uses: actions-ecosystem/action-add-labels@v1
if: ${{ steps.regex-match.outputs.match != '' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
labels: ${{ steps.regex-match.outputs.group1 }}
``````yaml
name: Create Comment with Regex Matchon: [issue_comment]
jobs:
create_comment:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2- uses: actions-ecosystem/action-regex-match@v2
id: regex-match
with:
text: ${{ github.event.comment.body }}
regex: '```typescript([\s\S]*)```'
flags: gm- uses: actions-ecosystem/action-create-comment@v1
if: ${{ steps.regex-match.outputs.match != '' }}
with:
github_token: ${{ secrets.github_token }}
body: |
Hello, @${{ github.actor }}!The raw TypeScript code is here.
---
${{ steps.regex-match.outputs.group1 }}
---
```## License
Copyright 2020 The Actions Ecosystem Authors.
Action Regex Match is released under the [Apache License 2.0](./LICENSE).
[actions-workflow-test]: https://github.com/actions-ecosystem/action-regex-match/actions?query=workflow%3ATest
[actions-workflow-test-badge]: https://img.shields.io/github/workflow/status/actions-ecosystem/action-regex-match/Test?label=Test&style=for-the-badge&logo=github[release]: https://github.com/actions-ecosystem/action-regex-match/releases
[release-badge]: https://img.shields.io/github/v/release/actions-ecosystem/action-regex-match?style=for-the-badge&logo=github[license]: LICENSE
[license-badge]: https://img.shields.io/github/license/actions-ecosystem/action-add-labels?style=for-the-badge