# extract-values

> A simple helper to extract values from a string based on a pattern.

Latest version **0.1.2** (published 2013-05-12) · 0 weekly downloads

## Install

```sh
npm install extract-values
pnpm add extract-values
yarn add extract-values
bun add extract-values
```

## Health

**Score 10/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; low quality score; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.2 |
| Published | 2013-05-12 |
| First published | 2012-10-04 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 304 |
| Author | Lakshan Perera |
| Maintainers | laktek |
| Keywords | regex, pattern matching, strings |

## Links

- npm: https://www.npmjs.com/package/extract-values
- Repository: https://github.com/laktek/extract-values
- Issues: http://github.com/laktek/extract-values/issues
- npm.io page: https://npm.io/package/extract-values

## Alternatives

- [@mce/gif](https://npm.io/package/@mce/gif.md) — 2.6K weekly downloads
- [cleanse](https://npm.io/package/cleanse.md) — 173 weekly downloads
- [str](https://npm.io/package/str.md) — 127 weekly downloads
- [naming](https://npm.io/package/naming.md) — 95 weekly downloads
- [tap-telco-api](https://npm.io/package/tap-telco-api.md) — 19 weekly downloads

## Recent versions

- 0.1.2 (latest) — 2013-05-12
- 0.1.1 — 2012-11-17
- 0.1.0 — 2012-11-17
- 0.0.4 — 2012-10-05
- 0.0.3 — 2012-10-04
- 0.0.2 — 2012-10-04
- 0.0.1 — 2012-10-04

## README

## ExtractValues

This is a simple helper to extract values from a string based on a pattern.

### Examples

```javascript

    extractValues("/2012/08/12/test.html", "/{year}/{month}/{day}/{title}.html")
    >> { "year": "2012", "month": "08", "day": "12", "title": "test" }

    extractValues("John Doe <john@example.com> (http://example.com)", "{name} <{email}> ({url})")
    >> {"name": "John Doe", "email": "john@example.com", "url": "http://example.com" }

    extractValues("from 4th October  to 10th  October", "from `from` to `to`", { whitespace: 1, delimiters: ["`", "`"] })
    >> {"from": "4th October", "to": "10th October" }

    extractValues("Convert 1500 Grams to Kilograms", "convert {quantity} {from_unit} to {to_unit}", { lowercase: true })
    >> {"quantity": "1500", "from_unit": "grams", "to_unit": "kilograms" }]

```

### How to Use

#### Install as a NPM package

```
    npm install extract-values
```

* Then `require` in your project.
    
```javascript
    var extractValues = require("extract-values");
```

#### Use with web apps (in Browser)

```html
<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src='extract_values.js'></script>
    <script type="text/javascript">
        var parsedDate = extractValues("/2012/08/12/test.html", "/{year}/{month}/{day}/{title}.html")
        //{ "year": "2012", "month": "08", "day": "12", "title": "test" }
    </script>
</head>
<body></body>
</html>
```

### Unit Tests

Run `node tests.js`.

```shell
$ node tests.js
14 tests pass
```

### Options

**whitespace** - normalizes the whitespace in the input string, so it can be aligned with the given pattern. You can define the number of continous whitespaces to contain in the string. Making it zero (0) will remove all whitespaces.

**lowercase** - converts the input string to lowercase before matching.

**delimiters** - If specify the delimiters used in the pattern to define the values. Default delimiters are `{` and `}`.

### Licence

[MIT LICENSE](https://github.com/laktek/punch/blob/master/LICENSE)

---
_Source: https://npm.io/package/extract-values · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
