JabRef
v5
v5
  • JabRef Bibliography Management
  • Installation
  • Getting started
  • Collect
    • Add entry manually
    • Add entry using an ID
    • Add entry using reference text
    • Searching externally using Online Services
    • Add entry using PDFs
    • Browser Extension
    • Import
      • Custom import filters
      • Import inspection window
  • Organize
    • Edit an entry
    • Groups
    • Keywords
    • Mark and grade
    • Comment on an entry
    • Searching within the library
    • Complete information using online databases
    • Manage associated files
    • Manage field names and their content
    • Best practices
    • Cleanup entries
    • Check integrity
    • Find duplicates
    • Merge entries
    • Save actions
  • Cite
    • BibTeX and biblatex
    • Pushing to external editor application
    • Export to Microsoft Word
    • OpenOffice/LibreOffice integration
  • Share
    • Sharing a Bib(la)TeX Library
    • Shared SQL Database
      • Migration of pre-3.6 SQL databases into a shared SQL database
    • Export
      • Custom export filters
    • Send as email
  • Configuration
    • Customize the citation key generator
    • Customize entry types
    • Customize general fields
    • Customize key bindings
    • Library properties
    • Entry preview setup
    • Manage external file types
    • Manage protected terms
    • The string editor
  • Advanced information
    • Main Window
    • Entry Editor
      • Links to other entries
      • The Bibtex / Biblatex source tab
      • The 'owner' field
      • Time stamp field
      • LaTeX Citations Tab
    • About BibTeX and its fields
    • Strings
    • Field content selector
    • URL and DOI links in JabRef
    • Command line use and options
    • Automatic Backup (.sav and .bak) and Autosave
    • XMP metadata support in JabRef
    • Remote operation
    • Custom themes
    • Journal abbreviations
    • New subdatabase based on AUX file
    • How to expand first names of an entry
    • Debugging your library file
    • Resources
    • License
    • Knowledge
      • MS Office Bibliography XML format
      • Comparison of the Medline (txt), Medline (xml), and RIS format
      • EndNote Export Filter
  • Frequently Asked Questions
    • Linux
    • Mac OS X
    • Windows
  • Discussion Forum
  • Contribute to JabRef
    • How to Improve the Help Page
    • How to translate the JabRef User Interface
Powered by GitBook
On this page
  • Search history
  • Search settings
  • Simple search
  • Search using regular expressions
  • General syntax
  • Pseudo fields
  • Advanced use of regular expressions

Was this helpful?

Edit on GitHub
Export as PDF
  1. Organize

Searching within the library

PreviousComment on an entryNextComplete information using online databases

Was this helpful?

The search bar is located in the icon bar.

To make the cursor jump to the search field, you can:

  • Click in the search field.

  • Press Ctrl + F.

Search history

To find the search history, you can right click in the search field. Only ten recent searches will be displayed in the sub-menu. You can find clear history button under your search history.

Search settings

At the right of the search text field, 2 buttons allow for selecting some settings:

  • Regular expressions

  • Case sensitivity

    • Whether or not the search query is case sensitive.

Simple search

In a normal search, the program searches your library for all occurrences of the words in your search string, once you entered it. Only entries containing all words will be considered matches. To search for sequences of words, enclose the sequences in double-quotes. For instance, the query progress "marine aquaculture" will match entries containing both the word "progress" and the phrase "marine aquaculture".

All entries that do not match are hidden, leaving for display the matching entries only.

To stop displaying the search results, just clear the search field, press Esc or click on the "Clear" (X) button.

Search using regular expressions

Make sure that the button "regular expressions" is activated

General syntax

Search within specific Fields

To search for entries whose author contains miller, enter: author = miller. The = sign is actually a shorthand for contains. Searching for an exact match is possible using matches or ==.

Search for terms containing spaces

If the search term contains spaces, enclose it in quotes. Do not use spaces in the field specification! E.g to search for entries with the title "image processing", type: title = "image processing"

Search using parentheses, and, or and not

To search for entries with the title or the keyword "image processing", type: title|keywords = "image processing". To search for entries without the title or the keyword "image processing", type: title|keywords != "image processing" It is also possible to chain search expressions. In general, you can use and, or, not, and parentheses as intuitively expected:

(author = miller or title|keywords = "image processing") and not author = brown and != author = blue

Logical Operator / Symbol
Explanation

XY

X followed by Y

X|Y

Either X or Y

(X)

X, as a capturing group

!=

tests if the search term is not contained in the field (equivalent to not ... contains ...)

Regular Expression search and Field Types

The selection of field types to search (required, optional, all) is always overruled by the field specification in the search expression. If a field is not given, all fields are searched. For example, video and year == 1932 will search for entries with any field containing video and the field year being exactly 1932.

Pseudo fields

JabRef defines the following pseudo fields:

Pseudo field

Purpose

Example

anyfield

Search in any field

anyfield contains fruit: search for entries having one of its fields containing the word fruit. This is identical to just writing apple. It may be more useful as anyfield matches apple, where one field must be exactly apple for a match.

anykeyword

Search among the keywords

anykeyword matches apple: search for entries which have the word apple among its keywords. However, as this also matches pineapple, it may be more useful in searches of the type anykeyword matches apple, which will not match apples or pineapple

key

Search for citation keys

citationkey == miller2005: search for an entry whose citation key is miller2005

entrytype

Search for entries of a certain type

entrytype = thesis: search entries whose type (as displayed in the entrytype column) contains the word thesis (which would be phdthesis and mastersthesis)

Advanced use of regular expressions

Regular expressions and casing

By default, regular expressions do not account for upper/lower casing. Hence, while the examples below are all in lower case, they match also upper- and mixed case strings.

If casing is important to your search, activate the case-sensitive button.

Searching for entries with an empty or missing field

  • . means: any character

  • + means: one or more times

author != .+ returns entries with empty or no author field.

  • ^ means: the beginning of a line

  • [a-zA-Z] means: a through z or A through Z, inclusive (range)

  • $ means: the end of a line

  • X{n} means: X, exactly n times

owner != ^[a-zA-Z]{3}$ returns empty and non-three-letter owners

Searching for a given word

  • \b means: word boundary

  • \B means: not a word boundary

keywords = \buv\b matches uv but not lluvia (it does match uv-b however)

author = \bblack\b matches black but neither blackwell nor blacker

author == black does not match john black, but author = \bblack\b does.

author = \bblack\B matches blackwell and blacker, but not black.

Searching with optional spelling

  • ? means: none or one copy of the preceding character.

  • {n,m} means: at least n, but not more than m copies of the preceding character.

  • [ ] defines a character class

title =neighbou?r matches neighbour and neighbor, and also neighbours and neighbors, and neighbouring and neighboring, etc.

title = neighbou?rs?\b matches neighbour and neighbor, and also neighbours and neighbors, but neither neighbouring nor neighboring.

author = s[aá]nchez matches sanchez and sánchez.

abstract = model{1,2}ing matches modeling and modelling.

abstract = modell?ing also matches modeling and modelling.

year == 200[5-9]|201[0-1]​specifies the range of years 2005-2011 (200[5-9] specifies years 2005-2009;| means "or"; 201[0-1] specifies years 2010-2011).

author = (John|Doe)matches entries written by either John or Doe.

author = (John|Doe).+(John|Doe)matches entries written by both John or Doe.

Searching for strings with a special character (()[]{}\^-=$!|?*+.)

If a special character (i.e. ( ) [ ] { } \ ^ - = $ ! | ? * + . ) is included in your search string, it has to be escaped with a backslash, such as \} for }.

It means that to search for a string including a backslash, two consecutive backslashes (\\) have to be used: abstract = xori{\\c{c}}o matches xoriço.

Searching for strings with double quotation marks (")

The character " has a special meaning: it is used to group words into phrases for exact matches. So, if you search for a string that includes a double quotation, the double quotation character has to be replaced with the hexadecimal character 22 in ASCII table \x22.

Neither a simple backslash \", nor a double backslash \\" will work as an escape for ". Neither author = {\"o}quist with regular expression disabled, nor author = \{\\\"O\}quist with regular expression enabled, will find anything, even if the name {\"o}quist exists in the library.

Hence, to search for {\"o}quist as an author, you must input author = \{\\\x22o\}quist, with regular expressions enabled (Note: the \, {, _ and the } are escaped with a backslash; see above).

Greedy quantifiers

Quantifier
Explanation

X?

X, once or not at all

X*

X, zero or more times

X+

X, one or more times

X{n}

X, exactly n times

X{n,}

X, at least n times

X{n,m}

X, at least n but not more than m times

Reluctant quantifiers

Quantifier
Explanation

X??

X, once or not at all

X*?

X, zero or more times

X+?

X, one or more times

X{n}?

X, exactly n times

X{n,}?

X, at least n times

X{n,m}?

X, at least n but not more than m times

Possessive quantifiers

Quantifier
Explanation

X?+

X, once or not at all

X*+

X, zero or more times

X++

X, one or more times

X{n}+

X, exactly n times

X{n,}+

X, at least n times

X{n,m}+

X, at least n but not more than m times

Whether or not the search query uses .

In order to only search for content within specific fields and/or to include logical operators in the search expression, a special syntax is available in which these can be specified. Both the field specification and the search term support .

Regular expressions (RegEx for short) define a language for representing patterns matching text, for example when searching. There are different types of RegEx languages. JabRef uses regular expressions as defined in Java. For extensive advanced information about Java's RegEx patterns, please have a look at the and at the .

Java documentation
Java tutorial
regular expressions
regular expressions
Screenshot of the search bar