ss

string-search

Node module for string search using regex

Showing:

Popularity

Downloads/wk

422

GitHub Stars

17

Maintenance

Last Commit

6yrs ago

Contributors

1

Package

Dependencies

1

Size (min+gzip)

20.4KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

string-search

NPM version Build Status Dependency Status Coverage Status

Node module that carries out regex search on given multi-line string and returns match information.

Features

string-search finds and returns match information for each match.

  • Accepts a multi-line string and regular expression in string format.
  • Searches the given string with provided regular expression.
  • Returns a promise that eventually resolves to an array. The array contains match objects each having following attributes -
    • line - line number(s) that the matched result was found on.
    • term - the search term.
    • text - the entire line(s) that the matched result was found in.

Getting Started

Install with NPM - npm install --save string-search

Usage

var stringSearcher = require('string-search');

stringSearcher.find('This is the string to search text in', 'string')
  .then(function(resultArr) {
    //resultArr => [ {line: 1, term: 'string', text: 'This is the string to search text in'} ]
  });

API

stringSearcher.find(targetString, regex)

NameTypeArgumentDescription
targetStringstring<required>target string to be searched. Can be multi-line(can contain line breaks).
regexstring<required>a string in regular expression format to search.

Returns promise that resolves to an array of objects containing following attributes -

NameTypeDescription
lineintegerline number that the matched result was found on.
termstringThe search term
textstringthe entire line(s) that the matched result was found in.

The promise is rejected in case of missing or invalid arguments.

Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality.

Notes

Heavily inspired by lineder. I needed file reading part separated from text searching part so that a file can be read only once and multiple searches can be carried out on it. I also used promise to return results instead of a callback.

License

Copyright © 2015 Omkar Patil

Licensed under the MIT license.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100